Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本

作者: 秦无邪
发布时间:2015-07-13 11:20:21

一、先来看一个小DEMO

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

image

图1-1 测试脚本:测试百度搜索

    我们现在使用Watir来实现一个“百度搜索框测试”的自动测试,

    代码如下:

 1 #encoding: utf-8   2 #测试百度搜索   3 require 'watir'   4 puts "打开浏览器"   5 browser = Watir::Browser.new   6 sleep 2 #延时2秒执行下一行   7 puts "进入百度首页"   8 browser.goto 'http://www.baidu.com/'   9 sleep 2  10 puts "搜索“淘宝”"  11 browser.text_field(:name => 'wd').set '淘宝'  12 browser.button(:value => '百度一下').click  13 sleep 2  14 puts "搜索“腾讯”"  15 browser.text_field(:name => 'wd').set '腾讯'  16 browser.button(:value => '百度一下').click  17 sleep 2  18 puts "搜索“新浪微博”"  19 browser.text_field(:name => 'wd').set '新浪微博'  20 browser.button(:value => '百度一下').click  21 sleep 2  22 puts "搜索“博客园”"  23 browser.text_field(:name => 'wd').set '博客园'  24 browser.button(:value => '百度一下').click  25 sleep 2  26 puts "搜索“Google”"  27 browser.text_field(:name => 'wd').set 'Google'  28 browser.button(:value => '百度一下').click  29 puts "脚本运行完毕!"

 

image

图1-2 命令行输出情况

    输入命令:ruby testBaidu2.rb

    如果运行没有问题的话,运行脚本的过程中,IE浏览器会自动打开,自动进入百度页面,然后自动搜索“淘宝”,得到搜素结果等等等,并在命令行输出如图1-2的输出字符串。

 

二、页面对象的各种测试方法

 1 文本框:   2      <INPUT id="email" name="_fmu.u._0.e" value="" />   3      方法1: ie.text_field(:id,'email').set("文本内容")   4      方法2: ie.text_field(:name, 'email').set("文本内容")   5      方法3: ie.text_field(:name,"email").clear   6    7    8 下拉框:   9     <SELECT name="cert_no">   10         <OPTION value="身份证">身份证</OPTION>  11     </SELECT>  12     方法1: ie.select_list(:name,"cert_no").select("身份证")   13     方法2: ie.select_list(:name,"cert_no").clearSelection  14   15   16 超链接:  17     <a href = "http://www.google.cn/">google</a>   18     方法1:ie.link(:text,"google").click   19     方法2:ie.link(:url,"http://www.google.cn/").click  20   21   22   23 复选框:  24     <input type = "checkbox" name = "checkme" value = "1">   25     方法1: ie.checkbox(:name,"checkme").set   26     方法2: ie.checkbox(:name,"checkme").clear   27     方法3: values = ie.checkbox(:name,"checkme").value  28     <input type = "checkbox" name = "checkme" value = "2">   29     #多个同名的复选框处理  30     方法1: ie.checkbox(:name,"checkme","2").set   31     方法2: ie.checkbox(:name,"checkme","2").clear  32   33   34 单选框:  35     <input type = "radio" name = "clickme" id = "1">   36     方法1: ie.radio(:name, "clickme").set   37     方法2: ie.radio(:name, "clickme").clear  38   39   40 一般按钮:  41     <input type = "button" name = "clickme" value = "Click Me">   42     方法1: ie.button(:value, "Click Me").click   43     方法2: ie.button(:name,"clickme").click  44   45   46 submit按钮:  47     <form action = "submit" name = "submitform" method = "post">  48        <input type = "submit" value = "Submit"></input>  49     </form>   50     方法: ie.button(:value."Submit").click  51   52   53 图片按钮:  54     <form action ="submit" name = "doitform" method = "post">  55         <input type = "image" src = "images/doit.gif" name = "doit">  56     </form>   57     方法:ie.button(:name, "doit").click  58   59   60 Form中无按钮:  61     <form action = "login" name = "loginform" method = "get">  62         <input name = "username" type = "text"></input>  63     </form>   64     方法1:ie.form(:name,"loginform").submit   65     方法2:ie.form(:action,"login").submit  66   67   68 获取隐含对象值:  69     <INPUT type=hidden value="您的Email" name="field1">  70     方法:values = ie.hidden(:name,'field1').value   71   72   73 获取窗口对象:  74     #根据URL获取  75     方法1: ie2 = Watir::IE.attach(:url,'http://www.google.cn/')  76     #根据窗口标题获取   77     方法2: ie3 = Watir::IE.attach(:title,'Google')  78     #正则表达式匹配获取  79     方法3: ie4 = Watir::IE.attach(:title, /google.cn/)  80   81   82 URL编码:  83        require 'cgi'  84        string =  "URL编码"  85        string = CGI::escape(string)  86        puts string  # 转换结果: URL%B1%E0%C2%EB  87   88   89 URL解码:  90       require 'cgi'  91        string =  "URL%BD%E2%C2%EB"  92        string = CGI::unescape(string)  93        puts string  # 转换结果:URL解码

    如上代码为Watir的常用的API接口函数,这里就不每个都进行测试,大家有兴趣可以自己尝试着去使用。

 

三、本章总结

    通过本章内容,可以初步的应用Watir对Web页面进行各种测试。

 

转载须知:

请尊重本人知识产权和劳动成果,本文可自由转载,请注明出处:

博客网址:http://www.cnblogs.com/zs8861/

联系邮箱:117711668@qq.com

欢迎交流!

来源:http://www.cnblogs.com/zs8861/p/4062145.html

推荐: