yinxin
作者yinxin·2020-02-04 17:34
项目经理·某金融机构

watir 基础知识

字数 1740阅读 930评论 0赞 0

一 watir是什么?

watir全称是“Web Application Testing in Ruby”,它是一种基于网页模式的自动化功能测试工具。一个Ruby库,使用多版本浏览器进行Web应用程序测试,支持Windows(2000及以上版本),Linux,Ubuntu,Mac。

作用:

1.Watir可以模拟用户访问网页、点击链接,填写表单,点击按钮。

2.Watir可以模拟用户验证页面内容。

watir不能做什么?

1.Watir不能用于Ajax control的测试。

2.Watir不支持Activex的测试

3.Watir不支持IE Dialog的支持(以前曾经支持过)。

二 watir的工作过程

  1. watir和ruby,用OLE/COM自动化接口调用浏览器,模拟用户操作,浏览器向服务器发送请求,并返回结果

2.根据接口返回结果,用watir和ruby编写的自动化脚本程序,判断浏览器展示和数据结果等。
三 编写watir简单脚本,打开百度窗口

require 'rubygems' #这句根据情况可选

require 'watir' # 加载watir文件

check_text = “watir测试框架” #定义变量

ie = Watir::IE.new # 打开一个IE浏览器

ie.goto("http://www.google.cn") #打开google首页

ie.text_field(:name,"q").set(check_text) #输入搜索内容

sleep(1)

ie.radio(:index,3).set

sleep(1)

ie.button(:name,"btnG").click # 点击按钮"Google搜索"

if ie.contains_text("符合#{check_text}的查询结果") #判断页面是否包含相应文字

puts"搜索成功!"

else

puts"搜索失败!"

end

ie.close #关闭IE窗口

四 watir的常用方法

n复选框:

方法1:ie.checkbox(:name,"checkme").set

方法2:ie.checkbox(:name,"checkme").clear

方法3:values = ie.checkbox(:name,"checkme").value

多个同名的复选框处理

方法1:ie.checkbox(:name,"checkme","2").set

方法2:ie.checkbox(:name,"checkme","2").clear
单选框:

方法1:ie.radio(:name, "clickme").set

方法2:ie.radio(:name, "clickme").clear
一般按钮:

方法1:ie.button(:value, "ClickMe").click

方法2:ie.button(:name,"clickme").click

获取隐含对象值:

方法:values = ie.hidden(:name,'field1').value
n获取窗口对象:

方法1: ie2 = Watir::IE.attach(:url, ‘http://www.google.cn/’) #根据URL获取

方法2: ie3 = Watir::IE.attach(:title, ‘ Google’) #根据窗口标题获取

方法3: ie4 = Watir::IE.attach(:title, /google.cn/) #正则表达式匹配获取

URL编码:

require 'cgi‘

string = "URL编码"

string = CGI::escape(string)

puts string # 转换结果:URL%B1%E0%C2%EB
URL解码:

require 'cgi'

string = "URL%BD%E2%C2%EB"

string = CGI::unescape(string)

puts string # 转换结果:URL解码

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广