
watir-webdriver
文章平均质量分 69
chinacreator
正在进行我的自动化历程
展开
-
说说watir-webdriver那些事(一)开始
selenium的webdriver可以说是,自动化测试中别具一格的东西,在开源的自动化测试工具中可谓的独霸一方啊,有的时候很佩服发明这个东西的那三个家伙,真实奇思妙想,而且还聪明异常。不过于此同时,ruby中的watir也是风头很盛,ruby语言的优美,加上watir对自动化测试的实现,也可以说相当不错。之后出现的watir-webdriver就是讲watir的语法引进,使用webdriver来...原创 2012-03-03 15:42:34 · 165 阅读 · 0 评论 -
说说watir-webdriver那些事(十三)执行js命令
在很多时候,使用Watir-webdriver提供的方法,操作可能有些不方便,另外页面可能存在一些js代码,可以调用。所以很多情况,在执行自动化测试脚本的时候,也会编写一些js的脚本来执行,帮助自动化测试执行。执行js脚本只要调用execute_script命令即可。例如: require 'watir-webdriver'b=Watir::Browser.newb....原创 2012-03-12 14:57:10 · 207 阅读 · 0 评论 -
说说watir-webdriver那些事(十二)table的处理
Table是经常遇到的一个数据展示组件,我们在做自动化测试的时候免不了跟他打交道。这里我们简单说一下如何处理Table这样的组件。首先还是举个例子, <html> <head> <title>Table</title> <style> table {...原创 2012-03-07 20:26:30 · 188 阅读 · 0 评论 -
说说watir-webdriver那些事(十一)下拉框处理
在网上看watir-webdriver,有人说Select框的中文无法进行选择,我自己试了一下现在的新版本0.5.3,是可以的,不用再打什么补丁了,简单的试了一下,下面是测试用的html <html><head><title>select</title></head><body> <...原创 2012-03-07 11:19:06 · 154 阅读 · 0 评论 -
说说watir-webdriver那些事(十)Cookie处理
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要...原创 2012-03-06 18:32:13 · 178 阅读 · 0 评论 -
说说watir-webdriver那些事(九)屏幕抓图
一般自动化测试的时候,总会用到抓图,把测试当时的结果保存下来,watir-webdriver使用的是它底层的Selenium-webdriver就有的截屏工具,非常好用,具体代码如下: browser.driver.save_screenshot 'screenshot.png' 记住,他的截屏非常强大,一般页面太长只能截一屏,然后屏幕外的需要使用滚动条,现在你使用...原创 2012-03-06 18:13:10 · 140 阅读 · 0 评论 -
说说watir-webdriver那些事(八)使用Page Object模式
Page Object这种模式来组织自动化测试脚本应该说是目前比较流行的方式,这种模式有助于提高脚本的可维护性和健壮性。简单地说把,就是把页面对象和操作步骤按照Page为单位组织。举个例子吧,之前我们的脚本都是这样写的: browser = Watir::Browser.newbrowser.goto "http://example.com/login"browser.text...原创 2012-03-06 17:42:30 · 127 阅读 · 0 评论 -
说说watir-webdriver那些事(七)如何处理JS弹出窗口
首先举个例子,html的js弹出窗口的代码如下:<html> <head><title>Popup Window</title></head> <body> <input id = "btn" value = "click" type = &q原创 2012-03-06 17:00:00 · 215 阅读 · 0 评论 -
说说watir-webdriver那些事(六)如何处理弹出窗口
在实际的测试过程中,所有的业务操作不会在一个页面内完成,经常会做的工作就是弹出一个新的窗口,想新的窗口中进行操作,虽然目前很多比较流畅的页面设计都尽量避免使用这种方式,不过弹出窗口还是存在于很多web应用中。一般弹出窗口有这么四类:使用window.open的js命令弹出一个新的浏览器,这种方式遇到的比较少,因为实在不美观;有一种叫做模态窗口,这个相当于页面在子窗口,子窗口不关闭,主窗...原创 2012-03-06 16:25:04 · 212 阅读 · 0 评论 -
说说watir-webdriver那些事(五)如何进行等待
Watir会等待页面load完毕,才能进行下面的操作,所以不需要等待页面加载完毕。这里所说的等待,是指在Web页面中,经常碰到的Ajax异步加载。这种加载,会在你进行一个操作后,对后台进行交互,而这种交互不会占用前台的等待,你可以进行其他任何在这个页面的其他操作,交互完毕后,可能会弹出窗口,可能会弹出控件,也可能一个控件消失。我们要做的就是等待这种过程的结束,之后进行测试案例下面的操作。等待的方法...原创 2012-03-04 22:36:35 · 172 阅读 · 0 评论 -
说说watir-webdriver那些事(三)如何定位页面元素
功能自动化测试做的就是,找到页面的控件元素,然后操作这些控件,完成模拟人工的测试操作。所以开头肯定是要定位到页面上的元素。watir-webdriver提供了多方方法,帮助我们定位Web页面上的元素。 常用的定位方法如下: :id => 'id',:name => 'name',:class ...原创 2012-03-03 22:31:48 · 211 阅读 · 0 评论 -
说说watir-webdriver那些事(四)定位frames
frame一直是一个让自动化测试工程师极其头疼的问题,尤其是watir针对iframe总是有些奇怪的问题,并且针对那些不太明白html的人来说,frame也确实比较难以理解。我简单说明一下,frame简单的说就是在一个页面里可以套用其他的页面,但是可能我们在看页面的时候没有什么感觉,基本看不出来。但是在做自动化测试的时候,就一定要关注Frame,比方说页面里面有个frame,在这个frame...原创 2012-03-03 20:03:22 · 182 阅读 · 0 评论 -
说说watir-webdriver那些事(二)一些简单的操作
一般上手自动化测试的人都喜欢立竿见影的看到一些成效,这里也简单的简单介绍一下基本的操作,非常具体的使用方法,还是要通过查询API来获取。 打开浏览器 如果知道Selenum webdriver(watir-webdriver使用的就是selenium的webdriver)机制的人应该明白,webdriver使用的是在启动页面的时候,将js注入到页面,通过js来控制页面的控件来...原创 2012-03-03 16:15:02 · 235 阅读 · 0 评论 -
说说watir-webdriver那些事(十四)模拟键盘操作
一个web功能自动化测试工具应该具备三个基础属性:1.可以定位web的DOM元素,这个我在前面的定位已经讲过了2.可以执行js脚本,这个不仅是上一章说的执行js,还包括对控件的写js操作3.模拟键盘鼠标进行操作。 前两点,已经在前面都谈过了,下面讲讲第三点,模拟操作,首先说说模拟键盘操作: 键盘模拟如果用过Selenium的话,会知道神奇的send_keys几乎涵盖...原创 2012-03-15 14:11:13 · 307 阅读 · 0 评论