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

一、先来看一个小DEMO

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

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

    代码如下:

#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                                             
             
                                                                                   
获取窗口对象:                                                                                  
    方法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解码

 

三、本章总结

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

转载须知:

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

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

联系邮箱:[email protected]

欢迎交流!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。