Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本
一、先来看一个小DEMO
通过上一篇博文《Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署》的介绍,我们已经有了完整Watir运行环境,现在我们可以来试用一下Watir,来对其进一步了解;

图1-1 测试脚本:测试百度搜索
我们现在使用Watir来实现一个“百度搜索框测试”的自动测试,
代码如下:
#encoding: utf-8
#测试百度搜索
require 'watir'
puts "打开浏览器"
browser = Watir::Browser.new
sleep 2 #延时2秒执行下一行
puts "进入百度首页"
browser.goto 'http://www.baidu.com/'
sleep 2
puts "搜索“淘宝”"
browser.text_field(:name => 'wd').set '淘宝'
browser.button(:value => '百度一下').click
sleep 2
puts "搜索“腾讯”"
browser.text_field(:name => 'wd').set '腾讯'
browser.button(:value => '百度一下').click
sleep 2
puts "搜索“新浪微博”"
browser.text_field(:name => 'wd').set '新浪微博'
browser.button(:value => '百度一下').click
sleep 2
puts "搜索“博客园”"
browser.text_field(:name => 'wd').set '博客园'
browser.button(:value => '百度一下').click
sleep 2
puts "搜索“Google”"
browser.text_field(:name => 'wd').set 'Google'
browser.button(:value => '百度一下').click
puts "脚本运行完毕!"

图1-2 命令行输出情况
输入命令:ruby testBaidu2.rb
如果运行没有问题的话,运行脚本的过程中,IE浏览器会自动打开,自动进入百度页面,然后自动搜索“淘宝”,得到搜素结果等等等,并在命令行输出如图1-2的输出字符串。
二、页面对象的各种测试方法
文本框:
<INPUT id="email" name="_fmu.u._0.e" value="" />
方法1: ie.text_field(:id,'email').set("文本内容")
方法2: ie.text_field(:name, 'email').set("文本内容")
方法3: ie.text_field(:name,"email").clear 下拉框:
<SELECT name="cert_no">
<OPTION value="身份证">身份证</OPTION>
</SELECT>
方法1: ie.select_list(:name,"cert_no").select("身份证")
方法2: ie.select_list(:name,"cert_no").clearSelection 超链接:
<a href = "http://www.google.cn/">google</a>
方法1:ie.link(:text,"google").click
方法2:ie.link(:url,"http://www.google.cn/").click 复选框:
<input type = "checkbox" name = "checkme" value = "1">
方法1: ie.checkbox(:name,"checkme").set
方法2: ie.checkbox(:name,"checkme").clear
方法3: values = ie.checkbox(:name,"checkme").value
<input type = "checkbox" name = "checkme" value = "2">
#多个同名的复选框处理
方法1: ie.checkbox(:name,"checkme","2").set
方法2: ie.checkbox(:name,"checkme","2").clear 单选框:
<input type = "radio" name = "clickme" id = "1">
方法1: ie.radio(:name, "clickme").set
方法2: ie.radio(:name, "clickme").clear 一般按钮:
<input type = "button" name = "clickme" value = "Click Me">
方法1: ie.button(:value, "Click Me").click
方法2: ie.button(:name,"clickme").click submit按钮:
<form action = "submit" name = "submitform" method = "post">
<input type = "submit" value = "Submit"></input>
</form>
方法: ie.button(:value."Submit").click 图片按钮:
<form action ="submit" name = "doitform" method = "post">
<input type = "image" src = "images/doit.gif" name = "doit">
</form>
方法:ie.button(:name, "doit").click Form中无按钮:
<form action = "login" name = "loginform" method = "get">
<input name = "username" type = "text"></input>
</form>
方法1:ie.form(:name,"loginform").submit
方法2:ie.form(:action,"login").submit 获取隐含对象值:
<INPUT type=hidden value="您的Email" name="field1">
方法:values = ie.hidden(:name,'field1').value 获取窗口对象:
#根据URL获取
方法1: ie2 = Watir::IE.attach(:url,'http://www.google.cn/')
#根据窗口标题获取
方法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解码
如上代码为Watir的常用的API接口函数,这里就不每个都进行测试,大家有兴趣可以自己尝试着去使用。
三、本章总结
通过本章内容,可以初步的应用Watir对Web页面进行各种测试。
转载须知:
请尊重本人知识产权和劳动成果,本文可自由转载,请注明出处:
博客网址:http://www.cnblogs.com/zs8861/
联系邮箱:117711668@qq.com
欢迎交流!
Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本的更多相关文章
- Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署
一.前言 Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将Web自动化测试应用于工作中,进而形成能够独立成章的博文,希望能够 ...
- 选择适合入门的自动化测试框架TestNG 基于Java语言的入门选择之一
对于测试工程师新手来说,最痛苦的莫过于入门,其实只要入门3个月左右,对于自动化测试,所有的测试工程师除了喜爱,就是更爱.自动化测试工作,是从根本上解放人性,不用重复去完成鼠标的点点点,例如以下测试常常 ...
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
- RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...
- 基于Python接口自动化测试框架(初级篇)附源码
引言 很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发接口自动化测试框架呢?相同之处就不说了,先说一下工具的局 ...
- 自动化测试框架Cucumber和Robot Framework的实战对比
自动化测试框架Cucumber和RobotFramework的实战对比 一.摘要 自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本:同时它需要拥有专业开发技能的人才能完成开发,且需要大量 ...
- 打造轻量级自动化测试框架WebZ
一.什么是WebZ WebZ是我用Python写的“关键字驱动”的自动化测试框架,基于WebDriver. 设计该框架的初衷是:用自动化测试让测试人员从一些简单却重复的测试中解放出来.之所以用“关键字 ...
- RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github. ...
- 《一头扎进》系列之Python+Selenium框架设计篇1-什么是自动化测试框架-价值好几K的框架,不看别后悔,过时不候
1. 什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的 ...
随机推荐
- 蓝桥杯—ALGO-12 幂方分解(递归递推)
问题描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步 ...
- 067——VUE中vue-router之使用transition设置酷炫的路由组件过渡动画效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- James Whittaker:经营成功的测试职业生涯
转注:这篇文章出自 James A. Whittaker,Google的工程总监,负责Google部分产品的测试,包括Chrome.地图.GoogleWebApp.在加盟Google之前,James在 ...
- include指令和include动作有什么区别?
include指令 称为文件加载指令,可以将其他的文件插入jsp网页,被插入的文件必须保证插入后形成的新文件符合jsp页面的语法规则. include指令语法格式:<%@incl ...
- js创建表单并提交
1.脚本 Util = { post : function(URL, PARAMS){ //虚拟表单实现post提交 var temp = document.createElement("f ...
- 使用idea创建springboot项目并打成war包发布到weblogic上
部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...
- 揭秘Keras推荐系统如何建立模型、获取用户爱好
你是否有过这样的经历?当你在亚马逊商城浏览一些书籍,或者购买过一些书籍后,你的偏好就会被系统学到,系统会基于一些假设为你推荐相关书目.为什么系统会知道,在这背后又藏着哪些秘密呢? 荐系统可以从百万甚至 ...
- HDU 3546
http://acm.hdu.edu.cn/showproblem.php?pid=3546 题意:10个寄存器初值为1,有加乘赋值运算,最多30w次运算,大数最多5000位,问最后10个寄存器的结果 ...
- opencv2.4.10与VS2013的环境配置
前言 项目几乎都是图像相关的,一般都会用到opencv开源库,就涉及到windows下opencv的环境配置问题,本文对此进行介绍. 环境 系统环境:win10_x64(其他windows系统类似); ...
- WinRAR的自解压模式 - imsoft.cnblogs
一个 SFX (SelF-eXtracting)自解压文件是压缩文件的一种,它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块.这样的压缩文件不需要外部程序来解压自解压文件的内容,它自己便可 ...