关于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变量,最好给新窗口一个不同的名字

基于ruby的watir自动化测试 笔记一的更多相关文章

  1. 基于ruby的watir自动化测试 笔记二

    基于ruby的watir自动化测试 笔记一的补充版,新增加了些特殊的控件捕获方法.还在更新中.... attribute_value 获取当前控件的属性 Value = ie.link(:id=> ...

  2. 基于Ruby的watir-webdriver自动化测试方案与实施(五)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(四) http://www.cnblogs.com/Javame/p/4164570.html 继续 ... ... 关于特殊控件 ...

  3. 基于Ruby的watir-webdriver自动化测试方案与实施(三)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(二) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ...   编写脚本 ...

  4. 基于Ruby的watir-webdriver自动化测试方案与实施(二)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(一) http://www.cnblogs.com/Javame/p/4159360.html 继续 ... ...   回顾 软 ...

  5. 从0到1,教你实现基于Ruby的watir-webdriver自动化测试

    一.为什么选择Ruby []完全开源. []多平台:Ruby可以运行在Linux, UNIX, Windows, MS-DOS, BeOS, OS/.. []多线程:线程就是指在一个程序中处理若干控制 ...

  6. 基于Ruby的Watir-WebDriver自动化测试框架

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  7. 基于Ruby的watir-webdriver自动化测试方案与实施(四)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(三) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ...   首先回忆 ...

  8. 基于Ruby的watir-webdriver自动化测试方案与实施(一)

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  9. 基于Ruby的Watir-WebDriver自动化测试方案

    Watir-WebDriver       —— 软件测试的自动化时代 QQ群:160409929 自动化测试方案书 系统架构 该自动化测试框架分三个模块:Test用例.Control控制层.Tool ...

随机推荐

  1. java实现可有括号的android计算器

    写了一个android版的计算器,可以计算带括号的表达式,不过前提是:正确的表达式才行 小缺陷是没有做表达式括号的控制,现在还没有想到好的控制方式 package javaAdvanced; impo ...

  2. 详谈Hibernate框架关系映射!

    接触Hibernate也有一小段的时间了,愈发的觉得Hibernate是个神奇的东西,为什么这么说呢?因为你可以不懂一行sql,直接面向对象,就可以将数据直接保存到数据库去!! 你还可以保存一个对象, ...

  3. 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板

    [源码下载] 不可或缺 Windows Native (19) - C++: 对象的动态创建和释放, 对象的赋值和复制, 静态属性和静态函数, 类模板 作者:webabcd 介绍不可或缺 Window ...

  4. cros解决跨域

  5. 通过指定函数/方法形参类型提高PHP代码可靠性

    指定形参类型是PHP 5就支持的一项特性.形参支持array - 数组. object - 对象两种类型. class User{ public $name; public $password; fu ...

  6. java.lang.IllegalStateException: Failed to read Class-Path attribute from manifest of jar file:/XXX

    出现这个问题的解决方案就是将原有的jar删除  然后重新下载过一遍就可以使用了  我估计是元数据等损坏了

  7. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  8. [moka同学笔记]Yii2.0 modal的使用

    第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...

  9. HDU 1131 Count the Trees 大数计算

    题目是说给出一个数字,然后以1到这个数为序号当做二叉树的结点,问总共有几种组成二叉树的方式.这个题就是用卡特兰数算出个数,然后因为有编号,不同的编号对应不同的方式,所以结果是卡特兰数乘这个数的阶乘种方 ...

  10. Web Service代理类生成工具

    本文原文连接:http://www.cnblogs.com/dengxinglin/p/3334158.html 之前一篇文章写 Web Service服务代理类生成及编译 , 通过命令行的方式可以直 ...