致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论

开源Web自动化测试框架—Watir试用

上一篇 / 下一篇  2008-08-05 00:33:37 / 个人分类:Watir

u4xf_G @&m0Watir 是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它很小巧,也很灵活,提供的功能也足够用。最近抽时间试用了一下,感觉还不错。因为 Watir 的网站上用户手册、示例代码以及 FAQ 都维护的不错,所以已有的东西我就不重复了,在这里简单介绍一下,如果同行们有兴趣,可以一起研究一下。
1FPN5F i0ch&{m051Testing软件测试网t{!A^Y
先丢一段脚本给大家看看使用 Watir 来书写脚本是多么的方便。下面的例子是 Watir 自带的一段测试 Google 的搜索功能的脚本,不过我只保留了最主要的部分,以使它看起来更简洁一些:

d3i'_9S&L3[051Testing软件测试网$Go ]-o1M

  1、脚本示例51Testing软件测试网}s+O4D ^V)S ~&xx

0V@qM&V0

?n0U2@~s0脚本示例

\N#OK6a$g,y-Y0

z9Q h:|uw(f0require 'watir'
,X2q@7CW R.y0  # 打开ie
1Z{[+i7c0  ie = Watir::IE.new51Testing软件测试网1J9Fz1j'QA.|sxd0w&@
  # 打开google站点51Testing软件测试网@2G_3`w K n;lC
  ie.goto (http://www.google.com)
a#x~"B'q0  # 输入搜索条件
R|@2y3\0  ie.text_field(:name, "q").set("51testing")
pp |)B Y7tR`\C[0  # 点击搜索按钮51Testing软件测试网$\'X8P)q&y*K$d
  ie.button(:name, "btnG").click
f.Ae@B4fX s0  # 检查51testing连接是否在page中51Testing软件测试网5xk-W%d,skY{&v`v
  if ie.contains_text("51testing")51Testing软件测试网Z {9m B$U;m
  puts "测试通过!"51Testing软件测试网B]q/}6g`m
  else
1_6k'l?z0  puts "测试失败!"
Z:B;N(ct0[ i d0  end

_!GY?PL~0

4C_~{-z0

g;Xf1o9Zz1H [0这段脚本要做的事情是打开 Google 的主页,然后在 Google 唯一的那个文本框内输入“51testing”这个字符串,然后按下“Google 搜索”按钮,之后验证搜索结果的页面中是否包含了“51testing”这个字符串,并根据结果使用 puts 函数在屏幕上打印不同的信息。脚本中“#”后面的部分是注释的内容。说实话要比那些商业工具录制的脚本还要简洁和简单。51Testing软件测试网8iWL\QE#APJ

3t~C,Obx m0  2. 所需要的环境51Testing软件测试网u.M_?@B)j"{T)l6I oj
51Testing软件测试网lny.g1f;\`(V(AO
  Ruby : 因为是使用 Ruby 实现的,脚本也是 Ruby 的脚本,所以需要在本机安装 Ruby。可以点击这里下载。我安装的是Ruby 1.8.6-26 Stable Release。51Testing软件测试网 ] [{no N

[ yF.U%t S0  Watir : 使用gem install watir语句可以在线安装51Testing软件测试网%@L L SWSN

x8V"J*p6?jf'c0   具体的配置请参见 Watir 用户手册。虽然是英文的,但是很简单。

Gg*|'s_oG o6W(_:s,`/q0

j3[A'`ZS%z Y/s'M*\ x0  3. 所需的知识背景
&])K(Lpt$A?&O\d`0
!z%a5?2nl;i k0  因为毕竟还是要写代码的,所以开发经验是必需的,任何语言的开发经验都可以——虽然 Ruby 是一个面向对象的脚本语言,不过你可以暂时不理它那么多(别被面向对象、脚本语言之类的词汇吓倒),如果你写过 VBscrīpt 或者其他什么代码那么 Watir 就是很简单的。不过,需要了解 Web 开发,比如 HTML 的基本语法,因为在开发脚本时需要根据 Web 页面的源代码来确定对 Web 对象的识别方式——当然,也可以借助其他工具来实现,例如 Mozilla Firefox 中提供的“DOM 查看器”(可以在 Mozilla Firefox“工具”菜单下找到,具体的使用方法参见 Mozilla Firefox 帮助)。
/?%n#y#?\TK*Q051Testing软件测试网8C$|MWMw V
  另外,测试和自动化测试方面的基本知识还是要有的。
(r3z'EB?fJ'l%dA0
-oF;dL4T ]1p!Jx1y8U0  4. 脚本的生成
G9{!~NpU2A_0
2~-c wsF3S@,\0  录制功能就别想了,Watir 没有提供这项功能。如果你非用录制不可,那就选择其他吧。不过就我自己的使用来看,Watir 的脚本写起来比用 QTP 或者 Rational 的工具录制还要方便和快捷。
6Q a7F m5j/ric0
,d n5mX H0  5. 对象的识别、操作和自动验证51Testing软件测试网Z+KP-ve)]D

D*RU%Z.EJ J0  Watir 提供了对多种常见 Web 对象的识别和操作的支持,例如 Hyperlinks 的点击、Checkboxes 的选中和清除、Radio Buttons 的选中和清除、下拉框和列表框的选择、文本框的输入、各种按钮的点击以及 Frame 的访问、弹出窗口的控制等。当然,既然可以识别和操作这些对象,也可以访问这些对象,使测试结果的验证自动化。具体信息可以参见 Watir 用户手册。
-?;g,BU,pqFb0
O _*J|L!PU0  6. 其他特性
&Ecr(v2VW0
D;fX!e3g0  如果你熟悉了 Ruby ,再结合其他一些工具,可以在 Watir 框架的基础上扩展出很多特性。例如:外部文件或的读取、模块化的开发、可重用的函数库、数据驱动、关键字驱动、脚本的版本化控制以及测试结果的管理,等等。数据库51Testing软件测试网\)E5rA7U6s

:FnB [%sOA d0  7. 相关链接
r+dp8u|D0
X-dM \+n0  Watir 主页:http://wtr.rubyforge.org/51Testing软件测试网{R~Dq0gN8I7T

.aV,[3C0i+j h0  Ruby中文手册:http://www.ruby-cn.org/doc.html51Testing软件测试网*mR?(PIh0g@m5d#C&h
51Testing软件测试网Wc B I#ok6RS,i?`n
  Ruby主页:http://ruby-lang.org/en/51Testing软件测试网S#_c5G c(B5{\^!q

U2}0PvY @F;A;A0  就如前面所说的,Watir 的用户手册、FAQ等方面维护的很不错,如果完整的看完 Watir 主页上的 sample test 和 User’s Guide 基本上就可以用 Watir 开始测试 Web 应用了。如果有兴趣进一步研究,可以参考一下 Technical Doc ,也可以读一下 Watir 自带的几个示例

6Z.`!bpm3Y5bS;CBTr0

TAG: Watir

 

评分:0

我来说两句

日历

« 2024-04-01  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 90831
  • 日志数: 79
  • 图片数: 1
  • 建立时间: 2008-05-18
  • 更新时间: 2009-06-04

RSS订阅

Open Toolbar