- 浏览: 2075923 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
开发测试案例(Developing Test Cases)
1.打开编辑器
2.以.rb为你的文件扩展名
3.在测试文件的第一句写上“require 'watir'”,确保可以访问Watir工具。
4.打开浏览器并转到要测试的应用
5.与之交互并设计你的testcase
6.在测试脚本中使用Watir方法
7.验证结果
与网页交互(Interacting With a Web Page)
当使用Watir开发测试脚本的时候,通过给网页上的对象发送消息来与之交互。
Watir语法(Watir Syntax)
1.使用Watir工具,需要在脚本中加上
require 'watir'
2.创建一个IE的测试实例
或者在创建的同时直接转到页面
Watir使用start方法同时创建一个浏览器实例并转到一个页面。
3.页面导航
4.操纵Web页面对象
4.1超链接
4.1.1使用Text属性点击超链接
对应的HTML代码为:
4.1.2使用URL属性点击超链接
对应的HTML代码为:
4.2复选框
4.2.1使用name属性设置复选框
4.2.2使用name属性清除复选框
4.2.3使用name和value属性设置复选框
4.2.4使用name和value属性清除复选框
对应的HTML代码为:
4.3单选框
4.3.1使用name属性设置单选框
4.3.2使用name属性清除单选框
4.3.3使用name和id属性设置单选框
4.3.4使用name和id属性清除单选框
对应的HTML代码为:
4.4下拉框
4.4.1使用name属性和值来设置下拉框
4.4.2使用name属性和值来清除下拉框
对应的HTML代码为:
4.5在Web页面中输入数据
4.5.1使用文本输入框的那么属性设置输入内容
4.5.2清空文本输入框
对应的HTML代码为:
4.6从Web页面上提交数据
4.6.1按钮
4.6.1.1通过值或标题属性点击按钮
4.6.1.2通过name属性点击按钮
对应的HTML代码为:
4.6.2表单
4.6.2.1表单中的按钮
使用value或标题属性
对应的HTML代码为:
4.6.2.2表单中的图片按钮
使用那么属性
对应的HTML代码为:
4.6.2.3没有按钮的表单
Watir can submit a form by identifying it by its name, action and method attributes.
可以通过name、action以及method属性来提交表单
对应的HTML代码为:
4.6.3框架
ie.show_frames可以打印出当前页面框架的数量和名称
Watir允许通过名称属性来访问框架,如ie.frame("menu")
如果要访问menu框架中的一个超链接,可以
4.6.4嵌套框架
4.6.5新窗口
一些Web应用会弹出新窗口或打开一个新窗口,可以使用attach方法来访问并控制新窗口。通过标示新窗口的URL或者title来访问。
也可以使用正则表达式
注意:不要把新窗口分配到你的ie变量,最好给新窗口一个不同的名字
5.验证结果
比较好的方法是在测试案例中假如验证点
5.1对象存在
使用Watir方法contains_text
5.2使用test::unit Assertions
5.2.1需要test::unit
require 'test/unit'
5.2.2创建测试实例
5.2.3创建测试用例方法
在测试类中,需要声明象下面的方法:
方法必须以test开头,ruby会随机运行测试案例,如果需要顺序执行,需要在test后加上字母或数字来强迫它顺序执行,比如“test_a_mytest”
定义测试方法的类:
5.2.4使用Assertions
Watir通过在一个asert覆写Watir方法支持assertions。
5.2.5Setup and Teardown
6.Tips and Tricks
Running Tests With the Browser Not Visible
Run the tests with a "-b" option if you don't want the browser to be visible. ex. myTest.rb -b
1.打开编辑器
2.以.rb为你的文件扩展名
3.在测试文件的第一句写上“require 'watir'”,确保可以访问Watir工具。
4.打开浏览器并转到要测试的应用
5.与之交互并设计你的testcase
6.在测试脚本中使用Watir方法
7.验证结果
与网页交互(Interacting With a Web Page)
当使用Watir开发测试脚本的时候,通过给网页上的对象发送消息来与之交互。
ie.text_field(:name , "q").set("bluescorpio") ie.button(:value , "Click Me").click
Watir语法(Watir Syntax)
1.使用Watir工具,需要在脚本中加上
require 'watir'
2.创建一个IE的测试实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start("http://mytestsite";)
Watir使用start方法同时创建一个浏览器实例并转到一个页面。
3.页面导航
ie.goto("http://mytestsite";)
4.操纵Web页面对象
4.1超链接
4.1.1使用Text属性点击超链接
ie.link(:text , "Pickaxe").click
对应的HTML代码为:
<a href="http://pragmaticprogrammer.com/titles/ruby/";>Pickaxe</a>
4.1.2使用URL属性点击超链接
ie.link(:url , "http://pragmaticprogrammer.com/titles/ruby/";).click
对应的HTML代码为:
<a href="http://pragmaticprogrammer.com/titles/ruby/";>Test Site</a>
4.2复选框
4.2.1使用name属性设置复选框
ie.checkbox(:name, "checkme").set
4.2.2使用name属性清除复选框
ie.checkbox(:name, "checkme").clear
4.2.3使用name和value属性设置复选框
ie.checkbox(:name, "checkme", "1").set
4.2.4使用name和value属性清除复选框
ie.checkbox(:name, "checkme", "1").clear
对应的HTML代码为:
<input type = "checkbox" name = "checkme" value = "1">
4.3单选框
4.3.1使用name属性设置单选框
ie.radio(:name, "clickme").set
4.3.2使用name属性清除单选框
ie.radio(:name, "clickme").clear
4.3.3使用name和id属性设置单选框
ie.radio(:name, "clickme", "1").set
4.3.4使用name和id属性清除单选框
ie.radio(:name, "clickme", "1").clear
对应的HTML代码为:
<input type = "radio" name = "clickme" id = "1">
4.4下拉框
4.4.1使用name属性和值来设置下拉框
ie.select_list( :name , "selectme").select("is fun")
4.4.2使用name属性和值来清除下拉框
ie.select_list( :name , "selectme").clearSelection
对应的HTML代码为:
<select name = "selectme" > <option name=1> <option name=2>Web Testing <option name=3>in Ruby <option name=4>is fun </select>
4.5在Web页面中输入数据
4.5.1使用文本输入框的那么属性设置输入内容
ie.text_field(:name, "typeinme").set("Watir World")
4.5.2清空文本输入框
ie.text_field(:name, "typeinme").clear
对应的HTML代码为:
<input type = "text" name = "typeinme" >
4.6从Web页面上提交数据
4.6.1按钮
4.6.1.1通过值或标题属性点击按钮
ie.button(:value, "Click Me").click
4.6.1.2通过name属性点击按钮
ie.button(:name, "clickme").click
对应的HTML代码为:
<input type = "button" name = "clickme" value = "Click Me">
4.6.2表单
4.6.2.1表单中的按钮
使用value或标题属性
ie.button(:value, "Submit").click
对应的HTML代码为:
<form action = "submit" name = "submitform" method="post"><input type = "submit" value = "Submit"></input></form>
4.6.2.2表单中的图片按钮
使用那么属性
ie.button(:name, "doit").click
对应的HTML代码为:
<form action = "submit" name = "doitform" method="post"><input type="image" src = "images/doit.gif" name = "doit"></form>
4.6.2.3没有按钮的表单
Watir can submit a form by identifying it by its name, action and method attributes.
可以通过name、action以及method属性来提交表单
ie.form(:name, "loginform").submit ie.form(:action, "login").submit
对应的HTML代码为:
<form action = "login" name = "loginform" method="get"><input name="username" type="text"></input></form>
4.6.3框架
ie.show_frames可以打印出当前页面框架的数量和名称
Watir允许通过名称属性来访问框架,如ie.frame("menu")
如果要访问menu框架中的一个超链接,可以
ie.frame("menu").link(:text, "Click Menu Item").click
4.6.4嵌套框架
ie.frame("frame1").frame(:name, "nested_frame")
4.6.5新窗口
一些Web应用会弹出新窗口或打开一个新窗口,可以使用attach方法来访问并控制新窗口。通过标示新窗口的URL或者title来访问。
ie2 = Watir::IE.attach(:url, 'http://mytestsite') ie3 = Watir::IE.attach(:title, 'Test New Window')
也可以使用正则表达式
ie4 = Watir::IE.attach(:title, /Test New/)
注意:不要把新窗口分配到你的ie变量,最好给新窗口一个不同的名字
5.验证结果
比较好的方法是在测试案例中假如验证点
5.1对象存在
使用Watir方法contains_text
ie.contains_text("Reached test verification point.") if ie.contains_text("Reached test verification point.") puts: "Test passed. Page contains the text: Reached test verification point." else puts: "Test failed! Page didn't contain text: Reached test verification point." end
5.2使用test::unit Assertions
5.2.1需要test::unit
require 'test/unit'
5.2.2创建测试实例
class TC_myTest < Test::Unit::TestCase ...fill in Test Case methods here... end
5.2.3创建测试用例方法
在测试类中,需要声明象下面的方法:
def test_myTestCase fill in method body with Watir code and assertion here end
方法必须以test开头,ruby会随机运行测试案例,如果需要顺序执行,需要在test后加上字母或数字来强迫它顺序执行,比如“test_a_mytest”
定义测试方法的类:
class TC_myTest < Test::Unit::TestCase def test_ myTestCase Watir code and assertion here... end def test_anotherTestCase Watir code and assertion here... end def test_aTestCase Watir code and assertion here... end end
5.2.4使用Assertions
Watir通过在一个asert覆写Watir方法支持assertions。
assert(ie.contains_text("Reached test verification point.")
5.2.5Setup and Teardown
def setup fill in code that will run before every test case here... end def teardown fill in code that will run after every test case here... end
6.Tips and Tricks
Running Tests With the Browser Not Visible
Run the tests with a "-b" option if you don't want the browser to be visible. ex. myTest.rb -b
发表评论
-
Destroying a Postgres DB on Heroku
2013-04-24 10:58 935heroku pg:reset DATABASE -
VIM ctags setup ack
2012-04-17 22:13 3259reference ctags --extra=+f --e ... -
alias_method_chain方法在3.1以后的替代使用方式
2012-02-04 02:14 3295alias_method_chain() 是rails里的一个 ... -
一些快速解决的问题
2012-01-19 12:35 1472问题如下: 引用Could not open library ... -
API service 安全问题
2011-12-04 08:47 1386这是一个长期关注的课题 rest api Service的 ... -
Module方法调用好不好
2011-11-20 01:58 1349以前说,用module给class加singleton方法,和 ... -
一个ajax和rails交互的例子
2011-11-19 01:53 1908首先,这里用了一个,query信息解析的包,如下 https: ... -
Rails 返回hash给javascript
2011-11-19 01:43 2277这是一个特别的,不太正统的需求, 因为,大部分时候,ajax的 ... -
关于Rubymine
2011-11-18 23:21 2267开个帖子收集有关使用上的问题 前一段时间,看到半价就买了。想 ... -
ruby中和javascript中,动态方法的创建
2011-11-18 21:01 1241class Klass def hello(*args) ... -
textmate快捷键 汇总
2011-11-16 07:20 8147TextMate 列编辑模式 按住 Alt 键,用鼠标选择要 ... -
Ruby面试系列六,面试继续面试
2011-11-15 05:55 2025刚才受到打击了,充分报漏了自己基础不扎实,不肯向虎炮等兄弟学习 ... -
说说sharding
2011-11-13 00:53 1492这个东西一面试就有人 ... -
rails面试碎碎念
2011-11-12 23:51 1946面试继续面试 又有问ru ... -
最通常的git push reject 和non-fast forward是因为
2011-11-12 23:29 17216git push To git@github.com:use ... -
Rails 自身的many to many关系 self has_many
2011-11-12 01:43 2738简单点的 #注意外键在person上people: id ... -
Rails 3下的 in place editor edit in place
2011-11-12 01:20 946第一个版本 http://code.google.com/p ... -
Heroku 的诡异问题集合
2011-11-11 07:22 1697开个Post记录,在用heroku过程中的一些诡异问题和要注意 ... -
SCSS 和 SASS 和 HAML 和CoffeeScript
2011-11-07 07:52 12960Asset Pipeline 提供了内建 ... -
Invalid gemspec because of the date format in specification
2011-11-07 02:14 2122又是这个date format的错误。 上次出错忘了,记录下 ...
相关推荐
它允许使用Ruby语言编写测试脚本,与浏览器进行交互,如点击链接、填写表单、验证页面元素等,极大地提高了测试效率和准确性。 **Cucumber框架** Cucumber是BDD(行为驱动开发)的一种实现,它使用自然语言描述的...
等待安装完成后,你就可以在Ruby环境中使用Watir进行自动化测试了。 **使用Watir进行自动化测试** Watir提供了丰富的API,可以方便地定位和操作网页元素。例如,你可以用以下方式打开一个浏览器并导航到特定URL:...
使用Watir编写测试时,通常会结合其他测试框架,如RSpec,以提高测试的结构和可读性。例如: ```ruby require 'watir' require 'rspec' RSpec.describe 'Google Search' do before(:each) do @browser = Watir::...
Watir,全称Web Application Testing In Ruby,是一个开源的自动化测试框架,它允许使用Ruby语言编写脚本来控制浏览器,进行网页应用的自动化测试。结合Ruby的强大特性和简洁语法,Watir成为了测试社区中备受推崇的...
- **用Watir测试MercuryTours**: MercuryTours是一个用于测试的虚拟网站,使用Watir对其进行自动化测试。 - **Excel**: 如何读取和写入Excel文件,这对于数据驱动测试非常重要。 - **ObjectMap(对象映射)**: 对象...
本实践代码集合主要针对使用Watir进行Web应用程序测试的场景,旨在帮助初学者理解并掌握自动化测试的基本概念和操作。 ** Watir 库介绍 ** Watir,全称为Web Application Testing in Ruby,是基于Ruby的一个强大的...
综上所述,前端自动化测试是一种有效的提高软件开发质量和效率的方法,而Watir作为一种强大且易于使用的自动化测试工具,在实践中发挥了重要作用。通过对Watir的深入了解和合理运用,开发者可以在实际项目中实现高效...
Watir,全称为“Web Application Testing In Ruby”,是一款基于Ruby语言的开源Web自动化测试框架。它的设计目的是模拟人们在浏览器中的行为,如点击链接、填写表单和按下按钮,并能够检查预期的文本是否出现在页面...
在Ruby+Watir测试框架中,我们可以通过编写Ruby脚本来模拟用户在Web应用中的行为,如点击按钮、填写表单、验证页面内容等。Watir支持多种浏览器,包括Chrome、Firefox、Safari等,为测试提供了跨平台的兼容性。 ...
3. **等待机制**:Watir提供了智能等待功能,能自动等待元素出现或消失,避免了因页面加载时间不一致导致的测试失败。 4. **断言与验证**:通过Ruby的内建断言方法,Watir可以轻松地验证页面元素的状态,比如文本、...
**标题:“Watir-Bonus-1.5.1.1230.zip”** 这个...综上所述,这个压缩包是学习和使用Watir测试框架的一个宝贵资源,无论是新手还是经验丰富的开发者,都能从中受益,提升他们在Ruby环境下进行Web应用测试的能力。
下面是一个简单的示例,展示了如何使用Ruby Watir编写自动化测试脚本: ```ruby require 'watir' # 定义待测试的网站地址 test_site = 'http://www.aaawang.com/reg.asp?action=reg' # 初始化一个新的IE浏览器...
通过设置`browser = Watir::Browser.new :chrome`,可以选择使用哪个浏览器进行测试。 6. **异常处理** 在编写测试脚本时,错误处理是必不可少的。Watir提供了如`begin-rescue-end`结构来捕获并处理可能的异常...
- 使用Watir提供的各种方法进行页面元素的操作,如`click`、`text`、`value`等。 - 考虑使用Page Object模式来组织测试代码,提高可维护性和可读性。 - 对于大型项目,可以结合Cucumber或RSpec等BDD工具,以更高...
通过学习和应用以上知识点,你将能够熟练使用Ruby-Watir进行Web应用程序的自动化测试,提高测试覆盖率,减少手动测试的工作量,确保产品质量。在实际项目中,不断探索和实践,你将能够更好地掌握这一强大的测试工具...
watir自动化测试框架的录制工具,可以录制页面上控件
3. **编写测试脚本** - 使用Ruby语法定义测试用例,包括打开页面、操作元素、验证结果等。 4. **运行测试** - 执行测试脚本,观察测试输出,分析测试结果。 5. **调试与优化** - 如有测试失败,定位问题原因并修改...