按键精灵的网页自动化测试
web按键精灵使用文档
按键精灵是一款熟知的自动化工具以及平台,目前最为普遍的,是使用其编写网页、网游的脚本程序,为各玩家提供便捷的刷钱、升级等服务;而我今天在这里给大家介绍的,当然是属于办公使用的按键精灵的一个子功能----WEB按键精灵。
随着时代的发展,网络游戏不再拘泥于传统软件所使用的焦点触点式的代码方式,衍生出的就是WEB按键精灵式的基于网页元素编写代码的方式。
按键精灵使用代码是VBS语言,且拥有较大的资源库,让新手可以零成本快速学习,下面我将做一个简单的例子向大家介绍WEB按键精灵的实际应用:
首页,打开WEB按键精灵快捷方式:
是不是和普通的IE没什么区别?接下来我们只要按照我们的需求进行访问,比如:我将http://www.symptomfind.com/ 作为测试对象站点
比如,我们要搜索一个health的关键字,然后进入search页面,查找是否希望搜索出的文章是否在search页面中,再进入这个文章页,检查是否文章内容正确;此时,我们需要使用浏览器自带的工具----网页分析,点击该功能键;如图:
浏览器下端弹出了网页元素分析的分析框,显示了未启动,我们需要按F9来开启它,然后将鼠标移动到“输入框”上,再按F9按钮,这个分析框就将该模块的分析数据显示在我们眼前。
为了保证这个特征字符串是我们所需要的,我们点击一下旁边的测试特征串按钮,可以看到对应元素会在页面中闪烁,好了,我们这串正确的元素特征字符串复制到文本中,待我们编辑代码时使用;如图:
接下来将Find按钮的元素特种字符串也记录在文本中,方法如上;如图:
我们在输入框中输入health关键词,然后点击find按钮,进入search页面,如图:
比如我们就将搜索结果集第一个搜索结果为测试对象,我们将其的元素特征码记录码记录下来,然后再进入该文章页面,我们将页面中的某段文字来做为检查点;如图:
记录该元素特征码,然后打开按键精灵的脚本编辑界面,我们将用到的脚本为WEB网页插件下的命令;如图:
展开子集,我们看到一堆命令,是不是眼有花,我们慢慢梳理,我们暂时只用一些常用命令即可;首先我们的第一个操作是打开网址,那我们点击“GO 打开地址”;如图:
我们看到点击后,下方出现一个小框,我们在网页地址下的地址输入框中输入测试地址,然后点击插入;如图
注意,地址两边一定要加上英文的双引号,不然会报语法错误;然后我们将使用到htmlinput参数(表单输入)htmlclick(点击事件)以及htmlexists(验证参数)参数,参数的详细介绍在后续会介绍,我们将相关元素特征码填入表单,插入即可;如图:
然后将开启浏览器的代码加上,如图:
好了,我们可以试运行下,点击调试->运行;结果发现页面还没跳转,代码就跑完了,那我们添加一点延迟,让代码跑的慢一点;如图:
我们再试运行下,发现跑完也不知道对还是不对,那我们加一个IF判断,最后我们的验证到了没有,如图:
这段判断是指,如果获取到数据,就将数据在页面的展现次数表示出来(一般就一次),如果没有,就显示BAD;接下来我们再试运行下;如图:
好了,我们的第一个检查脚本已经完成;
接下来,详细介绍下我们常用的函数:
2.1.HtmlSelect命令
1)HtmlSelect命令只能够更具Select项的值来进行选择,注意这里不是显示在Select项上的文字,而是该项的value。
一个典型的下拉框HTML代码如下:
<select name="city">
< option value="1">北京</option>
< option value="2">上海</option>
< option value="3">广州</option>
< /select>
这里如果要选择上海,需要选择值为2的项;
2)级联的下拉列表组合。
在有的网页中,会有几个级联的下拉列表,后一个下拉框会随前一个框的值变化而发生变化,典型的有注册页面上的省份城市选择,HtmlSelect命令能够触发Onchange事件,会导致后一个下拉框值发生变化,但是如果执行脚本太快,而导致后一个未能选中正确的值,可以在前一个HtmlSelect后加上适当的延时;
3)多选表单中的列表控件;有的列表支持多选,在有一些个求职网站中,职业是可以多选的,这时候可以用%将多个需要选择的值连接起来传递给HtmlSelect命令实现多选;
2.2.HtmlExists命令
HtmlExists命令,能够判断指定特征的元素是否存在,并能够返回具备该特征的元素的个数。这个命令能够用来判断某个元素是否存在,如果为0证明不存在;
2.3.HtmlGet命令
HtmlGet命令比较复杂,但是功能也非常强大,该命令具备两个参数,第一个参数为获取类型,目前支持的值如下所示:
序号 |
值 |
适用对象 |
1 |
text |
得到指定元素的文本值,对应DOM属性innerText |
2 |
html |
得到指定元素内部的HTML代码,对应DOM属性innerHTML |
3 |
outerHtml |
得到元素整体的HTML代码,对应DOM属性的outerHTML |
4 |
value |
得到元素的Value值,用于获取表单元素内部的值 |
5 |
src |
得到图像元素的src属性,用于IMG标签对象 |
6 |
href |
得到链接元素的链接地址,用于A标签 |
7 |
…其他合法的HTML属性名称 |
其他属性,如果您使用的是合法的属性名称,就能够返回对应的值 |
第二个参数为特征字符串,如果匹配多个,只能返回第一个元素的值;
例如,获得淘宝货物价格:
Plugin price=Web.HtmlGet("text","id:id_Price")
获取某个表单文本的值
Plugin email=Web.HtmlGet("value","name:Email")
通过以上的学习,是不是觉得很简单,而我们只要根据实际的情况,可以增加更多的参数,甚至可以在页面中增加一些相对坐标值来达到检查的目的。关于更深一层的按键精灵使用,将在下一个课程中向大家介绍,谢谢。