在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
作者: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中文本框类型识别方法为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解决方案:首行加入 如图成功在文本框中输入了邮件地址 并且在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
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论