Watir 安装
Watir 是 Web Application Testing in Ruby 的缩写,是一个优秀的开源Web测试工具。我们QA Team决定用它来做自动化工具了。
在安装Watir时遇到一些小挫折,记录下来做个备忘。
1. 首先要安装Ruby。在Windows上安装Ruby非常简单,只需要下载相应的exe,执行即可。
下载页面:rubyforge.org/frs/?group_id=167
2. 按照教程,执行下面的两个Gem命令
gem update --system
gem install watir
3.如果用的是IE8以下版本,再去安装一个IE开发工具条。IE8里已经内置了这个工具,只要在浏览器里按F12就可以调出。
点这里下载
安装完毕,看似简单得不能再简单。但是开始运行那个著名的search on google的例子,却怎么也搞不定。
在命令行窗口敲irb,呵呵,顺利进入irb命令状态。开始试验:
Require "watir"
ie=Watir::IE.new
ie.goto "google"
第二行就失败了,怎么也创建不出IE对象。看了半天
文档也没有更详细的解释了,于是在google上搜啊搜,发现也有人碰到了类似
问题,但是按着一些回答试了试,还是不行。后来终于琢磨出来,是一些组件安装了多个版本造成的。解决方法如下:
1. 执行 gem list,列出所有安装的组件。每个组件后面会有一个括号,里面有一组数字就代表了版本号,比如0.4.4。如果括号里有两组或以上这样的数字,就说明安装了多个版本。
2. 对于所有安装多个版本的组件执行 gem uninstall XXX (XXX为组件名),然后选择想要删除的版本,确保每个组件都只有一个版本。我是都保留了最新的。
再运行上面的例子,一切OK,可以开始做自动测试脚本了!
Posted in QA-Team, 自动化.
Tagged with watir, 测试, 自动化.
1 comment
By jennyyu – 2009年06月22日
以下内容引用自“猪头小包子”的文章《ruby+watir安装》
1.首先是要下载ruby安装包。下载地址:rubyforge.org/frs/?group_id=167
2.执行刚才下载的安装包。最好是装在
系统盘的根下(比如C:\ruby)。相当傻瓜式的next安装。不详解。(中间有个选择组件的步骤,保持默认即可)。
3.安完了。下面开始升级。保持网络连接,暂时关掉防火墙。
运行下面2个命令:
gem update --system
gem install watir
第一个是对Rubygems升级,第二个是对安装watir。这两个过程都是要通过
网络的。我可能是rp不好从来没执行这2个命令成功过(不过公司的倒是成功了,奇怪),详见我在JavaEye上的提问:javaeye/problems/882
如果你的rp像我一样搓,可以考虑以下
方案:
下载最新版本的Rubygems和watir的gem进行手动升级。
4.假设前面这3步都完成了,那柳暗花明的一刻终于来到了。
打开SciTE这个
程序,一
个极其简练的编辑器呈现在我们面前。
敲一行 puts “Hello World!" 保存为helloworld.rb。
然后按下F5,右侧的OutPut应该会显示:
>ruby google.rb
hello
>Exit code: 0
好,然后把下面这一堆代码复制进去。我略微改动了一些地方。其实这是一个别人写的demo。这就是用Watir来进行页面测试的脚本。按F5可以执行下。
#-------------------------------------------------------------#
# Demo test for the Watir controller.
#
# Simple Google test written by Jonathan Kohl 10/10/04.
# Purpose: to demonstrate the following Watir functionality:
# * entering text into a text field,
# * clicking a button,
# * checking to see if a page contains text.
# Test will search Google for the "pickaxe" Ruby book.
#-------------------------------------------------------------#
# the Watir controller
require "watir"
# set a variable
test_site = "google/"
content = "51Testing"
#open the IE browser
ie = Watir::IE.new
# print some comments
puts "Beginning of test: Google search."
puts " Step 1: go to the test site: " + test_site
ie.goto te