09 2012 档案

webdriver窗口最大化方法
摘要:webdriver窗口最大化方法dr = Selenium::WebDriver.for :ffdr.manage.window.maximize 阅读全文

posted @ 2012-09-27 14:21 tim_sheng 阅读(5814) 评论(0) 推荐(0)

ruby webdriver如何解决中文乱码问题
摘要:用ruby编写webdriver脚本,有时经常会遇到中文乱码的问题,统一字符集可以解决这些问题1.首先确认ide的保存方式是否和访问的页面一致,如果不一致的话请设置为一致2.有时会同时访问多个页面,或者多个iframe,或者既访问页面和iframe的情况,这个时候,需要确认每个页面和iframe的字符编码的格式分别为什么,然后作相应的转码require 'iconv' def gbk2utf8(string) Iconv.conv('utf-8','gbk',string) end def utf82gbk(string) Iconv.conv( 阅读全文

posted @ 2012-09-14 17:16 tim_sheng 阅读(3100) 评论(0) 推荐(0)

ruby+selenium-webdriver一步一步完成自动化测试-----准备篇
摘要:这一系列文章目的不是讲ruby,也不是讲selenium-webdriver,而是通过一个登录soso首页的小例子讲怎样一步一步写好自动化测试。目标是:面向对象编程,实现逻辑与数据分离。如果你觉得已经学会了selenium-webdriver这个工具,而且也可以自己写一些小例子,但是似乎又是在云里雾里,不知道怎样写出来一个 成品,不确定应该用哪种开发框架,用什么测试框架。打个比方,就好像你已经会去市场买菜、把菜切好,会用厨房的灶具打火、回锅、放油,但是就是不知道应该 怎样把菜做好。这一系列文章的目的就是写明怎样把“菜做好”开篇前介绍一个学习ruby和selenium-webdriver的地址: 阅读全文

posted @ 2012-09-13 14:51 tim_sheng 阅读(1923) 评论(0) 推荐(0)

ruby+selenium-webdriver一步一步完成自动化测试(6)—-生成测试报告
摘要:测试用例执行完后,生成一份可视化良好的测试报告,这份测试才算功德圆满。昨天用了一下午的时候查怎样生成测试报告,又走了一次不大不 小的弯路,其实通过自动化测试框架rspec就可以生成测试报告的。只需要做一点小小的“手脚”—将命令行中打印的内容追加到文件中就可以了。还记得上一篇“多个测试用例”吗?在命令行窗口中执行测试用例的命令稍做修改。命令行中执行的命令修改为:rspec -f html > result.html即:将运行结果追加到result.html这个文件中,当然啦,文件的名子你可以随便取啦。命令执行完成后,在test005这个文件夹下生成result.html这个文件,双击此文件 阅读全文

posted @ 2012-09-13 00:00 tim_sheng 阅读(1132) 评论(0) 推荐(0)

ruby+selenium-webdriver一步一步完成自动化测试(5)—–多个测试用例
摘要:在上一篇“逻辑与数据分离”中只有一个测试用例,在这篇中主要是针对多个用例。验证用户名、密码全部错误;用户名、密码全部为空;用户名为空;密码为空,几种情况登录。1.D盘新建文件夹test005,文件结构与“逻辑与数据分离中一致”2.login_dialog.rb文件内容与上一篇“面向对象编程”中login_dialog.rb内容一致3.login_main_page.rb文件内容与上一篇“面向对象编程”中login_main_page.rb内容一致4.login_data.yml文件中编写如下内容:data: mainPage: url: http://www.soso.com t... 阅读全文

posted @ 2012-09-12 23:56 tim_sheng 阅读(1306) 评论(0) 推荐(0)

ruby+selenium-webdriver一步一步完成自动化测试(4)—–逻辑与数据分离
摘要:上一篇面向对象编辑,貌似这个用例已经很完美,但是还有不完善的地方,测试数据(用户名、密码、断言的判断数据)还是硬编码,要想做的更完美,实现逻辑与数据分离,这才是自动化测试的真谛。方法:运用yaml,读取配置文件中测试数据1.D盘新建文件夹test004,test004文件夹下创建文件夹action、config、spec、tool。action文件夹中新建文件login_main_page.rbconfig文件夹中新建文件login_data.ymlspec文件夹中新建文件login_spec.rbtool文件夹中新建文件login_dialog.rb2.login_dialog.rb文件内容 阅读全文

posted @ 2012-09-12 23:52 tim_sheng 阅读(1358) 评论(0) 推荐(0)

ruby+selenium-webdriver一步一步进行自动化测试(3)——面向对象编程
摘要:前一篇文章中写了一个测试用例,看上去还算不错。但是代码的扩展性并不好,假想对登录进行手动的功能测试,会想到哪些测试用例?(验证错误的用户名正确的密码;用户名和密码为空直接点击登陆按钮。等等)是不是每个用例都要写一套代码呢?答案肯定是否定的。可以把登录的功能抽象成一个方法。进一步研究发现, 有些测试对象也是可以复用的,比如在登陆的时候我们会用到密码输入框、点击登录按钮等,可以把这些“基本动作”封装到一个类中,这样代码的灵活性和适用性 将会更强。即,面向对象编程。因此做如下改造:1.定义一个工具类,此工具类定义方法,各个方法分别用于获取登录连接、用户名、密码、登录按钮等元素;2.定义一个实现类,此 阅读全文

posted @ 2012-09-12 23:42 tim_sheng 阅读(1380) 评论(2) 推荐(1)

ruby+selenium-webdriver一步一步完成自动化测试(2)—–一个测试用例
摘要:上一篇的小例子可以正常执行通过,但是这并不代表就可以按照这个思路写测试代码了。自动化测试与手工测试是一样的,要有测试用例,有执行有结果,但是上一篇的例子里并没有。众所周知,java开发用JUnit进行单元测试、C#开发用NUit进行单元测试,selenium-webdriver也需要一个这样的测试框架来执行测试用例,这个框架可以用test::Unit,也可以用文中所用的rspec目标:利用测试框架rspec创建一个测试用例,运行上一节的代码1.安装rspec命令行中执行命令:gem install rspec2.D盘下新建目录test0023.test002中新建文件夹spec4.打开编辑器S 阅读全文

posted @ 2012-09-12 18:19 tim_sheng 阅读(1993) 评论(0) 推荐(1)

ruby+selenium-webdriver一步一步完成自动化测试(1)—–第一个小例子
摘要:第一个小例子,登录soso首页,简单直观易懂。通常我们都是这样写的,网上各种例子也是这样的。1.打开文本编辑器SciTe2.file–new新建一个文件,写下如下代码#encoding = gbkrequire 'selenium-webdriver'chrome = Selenium::WebDriver.for :chromeurl = 'http://www.soso.com'chrome.get url#~ link = ff.find_element(:id,'ua').find_element(:link,'登录')l 阅读全文

posted @ 2012-09-12 17:08 tim_sheng 阅读(2370) 评论(0) 推荐(0)

Selenium Grid深入学习
摘要:应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子。因为我这里有两台机子,我打算这样演示:一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.168.40.24另一台机子启动两个次节点hub,一个次节点浏览器为firefox,另一个浏览器为chrome (系统为windows),ip为:192.168.40.67启动各节点hub启动主节点hub命令:java -jar selenium-server-standalone-2.24.1.jar -role hub启动与主节点同一机子的次节 阅读全文

posted @ 2012-09-11 11:58 tim_sheng 阅读(5077) 评论(2) 推荐(1)

Selenium Grid
摘要:Selenium Grid允许同时并行地、在不同的环境上运行多个测试任务。这里主要演示一下怎么使用Selenium Grid。准备:1、需要两台机子2、两台机子分别安装好JDK环境3、两台机子需要从http://code.google.com/p/selenium/downloads/list下载selenium-server-standalone-*.jar包开始:Grid需要一台机子做为主节点,然后其它机子做为子节点连接到这个主节点上来。所以首先要启动主节点。启动主节点:选一台机子做为主节点。打开命令行,cd至selenium-server-standalone-*.jar包的目录下,然后 阅读全文

posted @ 2012-09-11 11:42 tim_sheng 阅读(3781) 评论(0) 推荐(0)

Selenium-webdriver系列教程(15)————万能的截图
摘要:截图技能对于测试人员来说应该是较为重要的一个技能,就像踢假球是国内球员混迹中超的必备技能一般。在自动化测试中,截图可以帮助我们直观的定位错误、记录测试步骤。记得以前在给某跨国银行做自动化项目的时候,某银的PM要求我们自动化测试的每一步至少需要1个截图,以证明每个功能都被自动化测试给覆盖过,在这种情况下截图就成了证明自动化测试有效性的重要手段。好的测试人员都会截得一手好图,就跟骨灰级宅男定会吟得一手好诗一般。webdriver的截图功能十分强悍。以前在截图的时候,最麻烦的问题莫过于页面太长而只能截到一屏,屏幕以外需要移动滚动条才能看到的区域一般是截不到的。现在webdriver解决了这个问题,无 阅读全文

posted @ 2012-09-05 22:49 tim_sheng 阅读(6305) 评论(0) 推荐(0)

Selenium-webdriver系列教程(14)————为firefox设置代理
摘要:下面的代码可以帮助你实现firefox测试运行时代理配置的功能。大概的思路是通过设置profile对象来进行配置。profile = Selenium::WebDriver::Firefox::Profile.new# 新建了url为proxy.org,端口为8080的htpp代理proxy = Selenium::WebDriver::Proxy.new(:http => "proxy.org:8080")profile.proxy = proxydriver = Selenium::WebDriver.for :firefox, :profile => pr 阅读全文

posted @ 2012-09-05 22:03 tim_sheng 阅读(505) 评论(0) 推荐(0)

Selenium-webdriver系列教程(13)————使用已存在的profile启动firefox
摘要:关于firefox的profile,这里不想叙述太多,只说一点,那就是通过profile我们可以去修改测试运行时firefox的具体配置,对于firefox的自动化测试来说是必须掌握的一个知识点。使用selenium-webdirver操作profile的代码如下:# 使用已存在profile进行测试# 由于profile里保存有cookie等信息# 因此可以通过该技术来保持用户的登录态driver = Selenium::WebDriver.for(:firefox, :profile => "my-existing-profile")也可以在代码中动态的更改已存在 阅读全文

posted @ 2012-09-05 21:59 tim_sheng 阅读(658) 评论(0) 推荐(0)

Selenium-webdriver系列教程(12)————如何在启动firefox时加载扩展
摘要:有时候我们需要在使用firefox测试时启动firebug,这时候就可以用到下面的代码require 'rubygems'require 'selenium-webdriver'profile = Selenium::WebDriver::Firefox::Profile.newprofile.add_extension 'where/the/extensions/locate/firebug.xpi'dr = Selenium::WebDriver.for :firefox, :profile => profile这段代码首先创建了1个新 阅读全文

posted @ 2012-09-05 21:56 tim_sheng 阅读(837) 评论(0) 推荐(0)

RSPEC-入门学习
摘要:前言 要了解RSpec,我们首先需要了解什么是行为驱动开发(Behaviour Driven Development,简称BDD),BDD是一种融合了可接受性测试驱动计划(Acceptance Test Driven Planning),域驱动设计(Domain Driven Design)以及测试驱动开发(Test Driven Development,简称TDD)的敏捷开发模型。RSpec为BDD开发提供TDD支持。 这篇文章遵从TDD思想,但是我们将使用行为(behavior)和样例(example)来代替测试例(test case)和测试方法(test method)。介绍· 阅读全文

posted @ 2012-09-05 16:51 tim_sheng 阅读(6301) 评论(1) 推荐(0)

导航