Ruby Watir提供WEB对象支持

开发 开发工具
Ruby Watir只是对IE进行控制,如果还想需要其他的操作,可以通过安装对应的Ruby Watir库来扩展其功能。它可以被看做是一个面向浏览器的自动化测试工具。

Ruby Watir是一款基于Ruby语言的自动化测试框架,这款框架的功能也是异常强大的,它可以灵活方便的帮助我们完成各种需求。#t#

Watir是基于Ruby这种面向对象的脚本语言的,它用的是一种纯粹的编程语言,并且它是一个开源的产品,同时它还允许对网页 上的对象的直接操作,例如html和JavaScript 。不过Watir仅仅是对IE进行控制的,如果想要操控其他的浏览器例如Firefox或Safari就需要安装相应的Watir库,参考这里。总之,Watir是一个面向浏览器来开发和运行的一个自动化测试工具。

Ruby简介

ruby 是一种完全的面向对象的语言,语法简单,是解释执行的脚本语言,代码的可读性高,号称“最接近自然语言的编程语言”。Ruby语言起源于日本,它的研发者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是为了提高编程的效率。ruby语言的一些特点包括(1)动态载入。可以在运行时候重定义自己,类也可以在运行时继承或取消继承。 (2)自动内存管理机制。 (3)多精度整数。 (4)迭代器和闭包。 (5)开源项目。有大量活跃的社区支持Ruby语言。

构建环境

因为Ruby Watir是由Ruby实现的,所需要的脚本也是Ruby的脚本,所以你需要在本机先安装Ruby。安装在Windows上面的Ruby可以点击这里下载,我安装的是1.8.6版本的,也就是***版的。当你完成Ruby的安装后,打开命令行窗口,输入gem install watir 就会将watir安装到相应的文件夹下面,这个命令是将整个watir及相关的一些文档和文件一起安装,如果只想安装某个特定的gem的话,后面可以加上参数- -ignore-dependencies 。这样开发环境就很简单的搭建完成。

脚本示例

下面是我写的一个应用watir对passport测试站点自动注册邮箱的一个例子,在搭建完环境以后你可以将下面的代码拷贝到Ruby自带的解释器SciTE中保存为test_passport.rb, 只要是后缀名为.rb就可以,然后点F5运行调试就能看到结果。下面的代码只是实现了最基础的一些功能,主要是通过这个例子能够对Ruby Watir有个直观的认识。

 

  1. require 'watir'  
  2. include Watir  
  3. #生成一个随机的邮件地址  
  4. @mail_address=Array.new(3){(rand
    (122-97)+97).chr}.join+Array.new(6)
    {(rand{10}*10).to_i.abs}.join+"@easi.com"  
  5. #密码这一块为了方便管理可以写死一个好
    记得密码,例如‘123456‘  
  6. @mail_pwd="123456" 
  7. ie=IE.new  
  8. #passport测试站点  
  9. ie.goto ('accountservices.
    passport-int.net/reg.srf?')  
  10. #选中radio button  
  11. ie.radio(:name,"HasEmail").set  
  12. #点击continue按钮  
  13. ie.button(:name, “Continue").click  
  14. ie=IE.attach(:title, “Sign Up")  
  15. #在text field中填写所需要的信息  
  16. ie.text_field(:name,"p4181")
    .set(@mail_address)  
  17. puts 'Email address: '+@mail_address  
  18. ie.text_field(:name,"p3e8").set(@mail_pwd)  
  19. puts 'Password: '+@mail_pwd  
  20. ie.text_field(:name,"p10000000").set(@mail_pwd)  
  21. #在下拉列表中选中需要的选项  
  22. ie.select_list(:name,"p200000000000bb8")
    .select("Mother's birthplace")  
  23. ie.text_field(:name,"p200000000000bb9"
    ).set("11111")  
  24. ie.text_field(:name,"p10000002").set("0")  
  25. ie.button(:name,” Continue").click  
  26. ie.text_field(:name,"p1000000e").set
    (@mail_address)  
  27. ie.button(:name, “Continue").click  
  28. ie.button(:name,” Continue").click  
  29. ie=IE.attach(:title, “Account Services")  
  30. ie.goto ("http://login.live-int
    .com/logout.srf?")  
  31. ie.close 

 

上面这段脚本主要做的事情就是通过‘goto‘语句来到一个测试passport的注册站点,然后通过查找指定页面元素的填上所需要的信息例如用户名,密码等,在通过点击几次确定以后,就完成注册,其间用puts语句在屏幕上打印注册完成所用的用户名和密码。脚本中#后面的绿色语句都是注释。通过这个例子可以很直观的看到Ruby Watirr用来做web测试的易用性,而且语句非常接近自然语言,十分容易上手。

对象的识别、操作和自动验证

Ruby Watir提供了对多种常见 Web 对象的识别和操作的支持,例如 Hyperlinks 的点击、Checkboxes 的选中和清除、Radio Buttons 的选中和清除、下拉框和列表框的选择、文本框的输入、各种按钮的点击以及 Frame 的访问、弹出窗口的控制等。当然,既然可以识别和操作这些对象,也可以访问这些对象,使测试结果的验证自动化。具体信息可以参见 Watir 用户手册。

知识背景

编写Ruby Watir脚本时为了确定页面上的元素,需要察看网页的源文件,所以在编写watir自动化测试脚本仅仅需要了解HTML的基础知识和基本编程基础。为了方便查找和定义页面元素可以安装IE Developer Toolbar, 这个工具可以帮你轻松定位网页上的每个元素。下载地址可以从微软网站上去找。

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-18 11:03:45

Ruby watir环

2016-01-04 11:04:17

Web开发Ruby

2009-12-18 16:20:33

Ruby blocks

2009-09-22 11:58:00

ibmdwWeb

2009-06-10 16:09:56

netbeans ru动态语言

2009-12-15 10:10:42

Ruby过程对象

2009-12-15 13:59:42

Ruby对象操作

2011-03-30 16:20:35

RubyJRubyAndroid

2009-12-15 13:41:49

Ruby向对象发送消息

2009-12-16 14:04:04

Ruby对象初始化

2015-07-29 10:41:25

移动应用离线支持

2012-06-11 09:44:10

微软AzurePython

2010-08-13 08:59:58

Rails

2013-02-26 09:42:09

RailsRuby

2014-04-24 10:06:01

OpenStackDocker

2020-11-26 11:11:47

网络

2009-06-19 15:20:08

Quartz任务调度Spring

2010-07-27 09:06:11

Ruby on Rai

2009-07-15 14:29:44

RubyPHPWeb编程语言

2009-12-16 13:48:06

Ruby Web开发框
点赞
收藏

51CTO技术栈公众号