Ruby+Watir搭建自动化测试框架
首先下载Ruby安装包,关于windows下面的安装包是以exe格式的在官网有下载,这里我就不多说了,版本是1.8.6的吧,好像现在已经由1.9版本的,安装步骤很简单,这里就略了;接下来就是安装watir,
访问Watir官方网站:
http://wtr.rubyforge.org/install.html
按照网站上的描述进行如下操作:
1. 必须先完成Ruby的安装;
2. 打开“运行”,输入cmd进入控制台;
输入下面代码;
gem update --system
gem install watir
gem install firewatir
以上过程中安装watir是通过网络安装,为什么会推荐大家网络安装恩,主要是方便,其实也可以下载watir安装包.所以必须保证网络通畅,如果选择下载安装,只要保证ruby\rubygems和watir包是最新就可以了,因为大多情况下出现安装不成功的原因都是因为在windows下出现版本不一致的问题,所以这里提一下,安装完就可以测试哈,这里我推荐一个比较简单的的工具SciTE,这个工具你用过就知道很棒的,他里面嵌入了N多种语言的编译和运行环境,而且比较小,值得一用的.
在安装完之后,可以在SciTE工具下新建一个helloworld.rb文件,内容请输入:puts "hello world!" ,然后保存,很简单的一个脚本就可以测试ruby是否安装成功,不过一定主要ruby的脚本后缀是rb,所以保存时要以rb为后缀.这个时候我们可以直接按键盘上的F5来运行ruby脚本,发现在右边的输出栏上显示hello world! ,这样就说明ruby安装是成功的,但是并不证明watir是搭建成功的,所以还需要验证waitr,对于waitr的具体功能我们在下节会详细介绍的.
接下来我们新建一个脚本为a.rb:
require ‘rubygems'
require ‘watir’ # the watir controller
# open the IE browser
ie = Watir::IE.new
# Step 1: go to the test site: http://www.google.com
ie.goto (http://www.google.com)
# Step 2: enter ‘pickaxe’ in the search text field
ie.text_field(:name, “q”).set(”pickaxe”) # q is the name of the search field
# Step 3: click the ‘Google Search’ button
ie.button(:name, “btnG”).click # “btnG” is the name of the Search button
# Actual Result: Check that the ‘Programming Ruby’ link appears on the results page
if ie.contains_text(”Ruby”)
puts “Test Passed. Found the test string: ‘Programming Ruby’. Actual Results match Expected Results.”
else
puts “Test Failed! Could not find: ‘Ruby’”
end
# End of test: Google search
以上脚本主要是描述使用谷歌老做一个搜索"Ruby"字符的功能,如果程序运行成功,并跳出IE浏览器的操作流程,说明Ruby+Watir的环境是搭建成功的.
注: 在网络我发现大多数情况下,关于这个脚本的开头引入的库我不是太理解,因为我这里加了一个个引入require ‘rubygems'的库,因为通常不加入这个的话,是运行不成功的,会提示我们的watir加载不成功的......
介绍ruby和waitr
Ruby的特性:
计算机编程语言的发展总是与飞速变化的世界息息相关的,Ruby是为了适应变化、提高和完善编程艺术而出现的。
l 完全开源
l 多平台 Ruby可以运行在 Linux, UNIX, Windows, MS-DOS, BeOS,OS/2…
l 多线程 线程就是指能在一个程序中处理若干控制流的功能。与 OS 提供的进程不同的是,线程可以共享内存空间。
l 完全面向对象
l 不需要内存管理具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
l 解释执行 其程序无需编译即可轻松执行。
l 功能强大的字符串操作/正则表达式
l 具有异常处理功能
l 可以直接访问OS Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。
l 动态类型语言Ruby的变量没有类型,因此不必为类型匹配而烦恼。
l 动态语言 程序运行中,可以新加入属性,行为,也可以重写方法。
l 支持操作符重写
l 支持无限精度的数字 例如计算400的阶乘也轻而易举。
l 丰富的库函数
l 用模块进行混合插入(Mix-in) Ruby舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。
l 语法简单 它是脚本语言,没有指针,学习曲线比较低。
总结来说Ruby 吸取了 perl 的正则表达式, python 的简单性可读性,smalltalk 的纯面向对象语法和单继承,LISP 的无穷嵌套的语法,Java的线程…
介绍Watir
Watir封装了对web页面元素识别的机制,测试者可以利用Ruby在这个框架下根据对象的属性识别,而后写ruby代码控制测试逻辑,加入检查点等等以达到自动化测试目的, 并且有可以随意自由定制框架和测试逻辑的优点。
文章来源于领测软件测试网 https://www.ltesting.net/