Watir
常用语法集
一.如何控制 IE 浏览器
1.1使用 Watir 工具,需要在脚本中加上
require 'rubygems' require 'watir'
1.2打开一个新的 IE 窗口
在创建的同时直接转到页面 ie = Watir::IE.start "maymay.test/login/" 或者 ie = Watir::IE.new ie.goto("maymay.test/login/")
1.3控制已经打开的指定 IE 窗口
ie = Watir::IE.attach(:url,'maymay.test/login/') ie.maximize
1.4关闭 IE 窗口
ie.close
1.5关闭所有打开的 IE 窗口
i=1 for i in 1..10 Watir::IE.each do |ie|
sleep 1 ie.close end i=i+1 end
二.元素定位与控制
2.1控制超级链接
源代码如:
这样的代码,可以有两种方法来控制 使用文本属性(Text Attribute) ie.link(:text, " 使用 url 属性 ickaxe").click
ickaxe
ie.link(:url,"pragmaticprogrammer/titles/ruby/").click
2.2控制复选框 checkbox
源代码如: 可以用两种方法进行控制: 使用 name 属性: ie.checkbox(:name, "checkme").set#选中 ie.checkbox(:name, "checkme").clear#清空 使用 name 属性和 value 属性: ie.checkbox(:name, "checkme","1").set#选中 ie.checkbox(:name, "checkme","1").clear #清空
2.3控制单选框 radio
源代码如: 可以用两种方法进行控制: 使用 name 属性: ie.radio(:name, "clickme").set#选中 ie.radio(:name, "clickme").clear#清空 使用 name 属性和 value 属性: ie.radio(:name, "clickme","1").set#选中 ie.radio(:name, "clickme","1").clear#清空
2.4控制选择框
源代码如: "" 选择其中的一个属性: ie.select_list( :name , "selectme").select("isfun") 清空属性: ie.select_list( :name, "selectme").clearSelection
2.5文本框中输入文本
可以通过 name 属性和 id 属性来进行识别和操作: 如源代码: 填充数据:
ie.text_field(:name,"typeinme").set("WatirWorld") 清空数据: ie.text_field(:name, "typeinme").clear
2.6 buttons 按钮
源代码为: 可以使用 name 属性和 value 属性: ie.button(:name, "clickme").click #利用 name 属性 ie.button(:value, "Click Me").click #利用 value 属性
2.7 Forms 表单中的按钮
源代码为: 可以通过 name 或者 value 属性来表示 ie.button(:name, "submitform").click ie.button(:value, "Submit").click
2.8 Forms 表单中的图片按钮
如源代码为: 可以通过 name 属性来表示
ie.button(:name, "doit").click
2.9 Form
s 表单没有按钮进行提交
如源代码为: 可以通过提交 forms 表单本身的 name,action 和 method 来实现 ie.form(:name, "loginform").submit ie.form(:action, "login").submit
2.10框架和嵌套框架 代码如:
用 ie.show_frames 可以打印出当前页面框架的数量和名称: irb(main):009:0> ie.show_frames there are 2 framesframe index: 1 name: menuframe index: 2 name: main => 0..1 Watir 允许通过名称属性来访问框架,如: ie.frame(:name, "menu") 如果要访问 menu 框架中的一个超链接Click Menu Item,可以 ie.frame(:name, "menu").link(:text, "Click Menu Item").click 嵌套框架 ie.frame(:name, "frame").frame(:name, "nested_frame")
三.创建标准测试用例,用 if 和断言验证结果
3.1