2012年10月12日

ruby webdriver 显性等待、隐性等待、内部超时处理

摘要: 显性等待: wait = Selenium::WebDriver::Wait.new(:timeout => 3) wait.until { driver.find_element(:id => "cheese").displayed? }隐性等待:driver = Selenium::WebDriver.for :firefoxdriver.manage.timeouts.implicit_wait = 3 # seconds内部超时:WebDriver在内部使用http协议与各种driver发生交互联系。默认情况下,Ruby标准库中的Net::HTTP协议使 阅读全文

posted @ 2012-10-12 16:48 tim_sheng 阅读(1956) 评论(0) 推荐(0) 编辑

ruby webdriver 启动chrome浏览器的一些小技巧

摘要: 一般情况下我们启动chrome浏览器是用:Selenium::WebDriver.for :chrome但是有时候当我们访问一些特殊页面时,比如页面会提示证书错误,popup弹窗,是否翻译这些问题,有些会影响对页面的操作只要在chrome的后面加上一个参数switches,问题就搞定了Selenium::WebDriver.for:chrome,:switches =>%w[--ignore-certificate-errors --disable-popup-blocking --disable-translate]参数的个数根据需要自己选填eg:dr = Selenium::WebD 阅读全文

posted @ 2012-10-12 16:35 tim_sheng 阅读(2234) 评论(0) 推荐(0) 编辑

2012年10月11日

ruby webdriver处理flash类型的图片上传

摘要: 一般的图片上传能用send_keys("图片路径")解决但是遇到flash类型的图片上传,send_keys()就无奈了,这时候我们可以引用第三方工具autoit来进行操作这边提供一个实例#encoding:utf-8require 'selenium-webdriver'require 'test/unit'require 'rubygems'require 'win32ole'class OpentestCase<Test::Unit::TestCase def setup @dr = Seleniu 阅读全文

posted @ 2012-10-11 10:40 tim_sheng 阅读(914) 评论(0) 推荐(0) 编辑

2012年9月27日

webdriver窗口最大化方法

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

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

2012年9月14日

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 阅读(3080) 评论(0) 推荐(0) 编辑

2012年9月13日

ruby+selenium-webdriver一步一步完成自动化测试-----准备篇

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

posted @ 2012-09-13 14:51 tim_sheng 阅读(1916) 评论(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 阅读(1128) 评论(0) 推荐(0) 编辑

2012年9月12日

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 阅读(1299) 评论(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 阅读(1347) 评论(0) 推荐(0) 编辑

ruby+selenium-webdriver一步一步进行自动化测试(3)——面向对象编程

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

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

导航