• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【Ruby+Watir测试框架系列讲座 3】测试对象识别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

作者:zzxxbb112

时间:2011/11/8 版权所有,侵权必究。

出处:http://blog.csdn.net/zzxxbb112


本章主要简单介绍下Watir在自动化测试过程中的对象识别,其实所有自动化测试工具的识别原理都是如出一辙的,我们知道QTP的识别原理是预期封装对象鉴别属性(对象库)与实际封装对象鉴别属性(Spy)一致,那么对象即可识别,通俗的形容就是只要工具中描述的关键属性与实际对象的关键属性一致,那么对象即可被成功识别。那么在Watir其实也是一样,我们只需要通过描述正确无误的对象属性即可成功识别测试对象。


应用实例:

打开RadRails,新建一个项目,在脚本视图中输入以下代码

#引用watir包 require "watir" #实例化Watir模块的IE类,打开IE浏览器 ie = Watir::IE.new #跳转页面为IQuickTest领先技术博客首页 ie.goto("blog.csdn.net/zzxxbb112") #获取到邮件订阅文本框对象 edit = ie.text_field(:name,"email") #判断文本框对象是否存在 if edit.exist?() #输入邮箱地址 edit.set("[email protected]") #高亮文本框 edit.flash #打印结果 puts "email订阅文本框存在" end
分析:

可能你会一下子看到那么多代码会头晕,别急,我会一步步的解释每一行的意思。

#引用watir包 require "watir"解析:主要的作用是导入Watir包,这样我们才能去试用watir库中的函数和类。注意引用方式为Require


#实例化Watir模块的IE类,打开IE浏览器 ie = Watir::IE.new解析:这一步的作用主要是实例化IE浏览器,执行完此步骤后系统会自动打开IE浏览器


#跳转页面为IQuickTest领先技术博客首页 ie.goto("blog.csdn.net/zzxxbb112")解析:这一步很简单,就是跳转到相应的网页地址


#获取到邮件订阅文本框对象 edit = ie.text_field(:name,"email")解析:这一步是关键,Watir的对象识别主要就是靠它,当我们需要去识别一个对象时,首先需要去确认此对象的类型,这里我们使用IQuickTest博客首页的邮箱订阅文本框作为例子,如图



那么这里我们已经确认了对象类型为文本框,在Watir中文本框类型识别方法为text_field, 接着可以看到后面跟了:name,"email",这里的意思就代表需要去查找文本框的name属性值为email,如果匹配,则找到,否则对象识别失败。

#判断文本框对象是否存在 if edit.exist?() #输入邮箱地址 edit.set("[email protected]") #高亮文本框 edit.flash #打印结果 puts "email订阅文本框存在" end解析:exist?()方法代表判断对象是否存在,这个从字面上就能看出来,若存在则输入邮箱地址,并高亮,最后打印结果。


那么每一句的解析之后,相信你应该已经对本段代码有一定了解了。那么我们现在就来执行一下。



如图,在需要执行的脚本区中点击右键选择Run As下的Ruby Application,即可执行。

但是执行后你会发现程序报了错

invalid multibyte char (US-ASCII)解析:其实原因很简单,就是因为我们在脚本中存在中文,需要转码成utf-8

解决方案:首行加入

#coding: UTF-8


执行结果:


如图成功在文本框中输入了邮件地址



并且在console中打印了相关内容


那么这样一个简单的控制文本框的流程就完毕了,但是细心的朋友又会问一个问题了:究竟是如何知道这个文本框的name属性值为email的,其实很简单,一种最土的方式就是查看网页的源代码,如下图红色区域


但是你会发现如果对象很多,这样一个个找是不是特别累,这里作者提供给大家几个方案:

1.安装IE dev tools(微软官方有下载)

针对IE8以下浏览器,IE8开始自带,在浏览器中只需按下F12或者在菜单中打开


接着点击红色区域的箭头,当抓去订阅文本框时,工具会自动定位到对应的html位置


2. Chrome浏览器的Dev tools

只要你使用google的Chrome浏览器,只需按下快捷键Ctrl + Shift + i 即可**工具

接着点击抓去按钮


原理其实一样,抓去了对象之后即可自动定位到html了。


总结:

本次课程的内容就到这里了,这次的东西相对比较多,讲了的文本框对象的识别以及对象识别属性的获取,那么下次我们会详细讲解包括文本框在内的所有常用对象控件类型的操作。


Rss订阅IQuickTest关于如何订阅?

GoogleReader订阅地址:http://feeds.feedburner.com/iquicktest


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
为什么以及如何从Ruby切换到Python发布时间:2022-07-14
下一篇:
新人千万不要在 Windows 上使用 Ruby on Rails发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap