基于ruby的watir自动化测试 笔记一

时间:2023-03-08 23:49:25
基于ruby的watir自动化测试 笔记一

 

 关于Watir的安装文章网上一大堆,但真正靠谱的没有几个,不是报错就是安装包不对。我开始也是初哥,用了近一个星期才总结出来一套完整的安装理论,共享一下往大家可以从中可以少走一些弯路。本文提供全量安装包下载,包括:ruby + watri 自动化部署集成Eclipse 全量安装包 (包括:watir-1.5.4、ruby186-26、WatirRecorder_Setup_lite、dltk-core-ruby、dotnetfx、rubygems-1.3.7、安装说明。

安装说明:
1、 安装 ruby的gem升级包和watir.gem时在cmd下运行。
2、 这两个文件安装时,注意cd到相应目录下。
3、 ruby的gem升级包安装命令:ruby setup.rb
4、 watir.gem安装命令:gem install watir --local
    (watir.gem最高只能安装1.5.4版本。)

  (全量包)下载地址:http://download.csdn.net/detail/yiyu1/7542847

  watri使用说明:

1.打开编辑器  
2.以.rb为你的文件扩展名
3.在测试文件的第一句写上“require 'watir'”,确保可以访问Watir工具。
4.打开浏览器并转到要测试的应用
5.与之交互并设计你的testcase
6.在测试脚本中使用Watir方法
7.验证结果

  watri常用语法:

1.使用Watir,需要在脚本中加上(固定写法)
require 'watir'
2.创建一个IE的测试实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start("http://javame.cnblogs.com";)
Watir使用start方法同时创建一个浏览器实例并转到一个页面。

3.页面导航
ie.goto("http://javame.cnblogs.com";)

4.操纵Web页面对象
4.1超链接
4.1.1使用Text属性点击超链接
ie.link(:text , "Pickaxe").click
对应的HTML代码为:
<a href="http://pragmaticprogrammer.com/titles/ruby/";>Pickaxe</a>

4.1.2使用URL属性点击超链接
ie.link(:url , "http://pragmaticprogrammer.com/titles/ruby/";).click
对应的HTML代码为: <a href="http://pragmaticprogrammer.com/titles/ruby/";>Test Site</a>

4.2复选框
4.2.1使用name属性设置复选框
ie.checkbox(:name, "checkme").set
4.2.2使用name属性清除复选框
ie.checkbox(:name, "checkme").clear
4.2.3使用name和value属性设置复选框
ie.checkbox(:name, "checkme", "1").set
4.2.4使用name和value属性清除复选框
ie.checkbox(:name, "checkme", "1").clear
对应的HTML代码为: <input type = "checkbox" name = "checkme" value = "1">

4.3单选框
4.3.1使用name属性设置单选框 ie.radio(:name, "clickme").set
4.3.2使用name属性清除单选框 ie.radio(:name, "clickme").clear
4.3.3使用name和id属性设置单选框 ie.radio(:name, "clickme", "1").set
4.3.4使用name和id属性清除单选框 ie.radio(:name, "clickme", "1").clear
对应的HTML代码为: <input type = "radio" name = "clickme" id = "1">

4.4下拉框
4.4.1使用name属性和值来设置下拉框
ie.select_list( :name , "selectme").select("is fun")
4.4.2使用name属性和值来清除下拉框
ie.select_list( :name , "selectme").clearSelection
对应的HTML代码为: <select name = "selectme" > <option name=1> <option name=2>Web Testing <option name=3>in Ruby <option name=4>is fun </select>

4.5在Web页面中输入数据
4.5.1使用文本输入框的那么属性设置输入内容
ie.text_field(:name, "typeinme").set("Watir World")
4.5.2清空文本输入框 ie.text_field(:name, "typeinme").clear 对应的HTML代码为: <input type = "text" name = "typeinme" >

4.6从Web页面上提交数据
4.6.1按钮
4.6.1.1通过值或标题属性点击按钮 ie.button(:value, "Click Me").click
4.6.1.2通过name属性点击按钮 ie.button(:name, "clickme").click
对应的HTML代码为: <input type = "button" name = "clickme" value = "Click Me">

4.6.2表单
4.6.2.1表单中的按钮 使用value或标题属性
ie.button(:value, "Submit").click
对应的HTML代码为: <form action = "submit" name = "submitform" method="post"><input type = "submit" value = "Submit"></input></form>

4.6.2.2表单中的图片按钮 使用那么属性
ie.button(:name, "doit").click
对应的HTML代码为: <form action = "submit" name = "doitform" method="post"><input type="image" src = "images/doit.gif" name = "doit"></form>

4.6.2.3没有按钮的表单 Watir can submit a form by identifying it by its name, action and method attributes. 可以通过name、action以及method属性来提交表单
ie.form(:name, "loginform").submit ie.form(:action, "login").submit
对应的HTML代码为: <form action = "login" name = "loginform" method="get"><input name="username" type="text"></input></form>

4.6.3框架
ie.show_frames可以打印出当前页面框架的数量和名称 Watir允许通过名称属性来访问框架,如ie.frame("menu") 如果要访问menu框架中的一个超链接,可以
ie.frame("menu").link(:text, "Click Menu Item").click
4.6.4嵌套框架
ie.frame("frame1").frame(:name, "nested_frame")
4.6.5新窗口
一些Web应用会弹出新窗口或打开一个新窗口,可以使用attach方法来访问并控制新窗口。通过标示新窗口的URL或者title来访问。
ie2 = Watir::IE.attach(:url, 'http://mytestsite')
ie3 = Watir::IE.attach(:title, 'Test New Window') 也可以使用正则表达式
ie4 = Watir::IE.attach(:title, /Test New/)
注意:不要把新窗口分配到你的ie变量,最好给新窗口一个不同的名字