技术开发 频道

扼杀QTP检查点完结篇--节点的故事

  3、除了类似菜单选择实例,我们还能做什么?

  在项目里面,某些页面可输入框可谓是多不胜数,所以我们都只填写了必填

  的,而非必填的在测试用例中也很少体现出来,那么这部分是否也会成为漏网之

  鱼而今后成为一个祸根呢?如果你已经懂得如何应用节点去解决类似菜单的问

  题,同样的它也适用在这里。

  看看下面图片:

  代码片:

<table id=table1>
<tr><td>
<div>姓名:</div></td>
<td><table >
<td><input type="Text"></td>
</table></td></tr>
</table>
<table id=table2>
<tr><td>
<div>地址:</div></td>
<td><table >
<td><input type="Text"></td>
</table></td></tr>
</table>
<table id=table3>
<tr><td>
<div>邮件:</div></td>
<td><table >
<td><input type="Text"></td>
</table></td></tr>
</table>
<table id=table4>
<tr><td>
<div>电话号码:</div></td>
<td><table >
<td><input type="Text"></td>
</table></td></tr>
</table>


那么需要做的事情分几步:
?? 先获页面上所有的输入框。不一定是input 节点,大家根据实际情况而定。

Dim des
Dim AllInput
Set des=description.Create()
des("html tag").value="Input"
set AllInput= browser("Browser").Page("Page").ChildObjects(des)


?? 遍历每个Input 并且获取Div 节点的值。

For i=0 to AllInput.count-1
newid=AllInput(i).object.parentNode.parentNode.parentNode.parentNode.parentNod
e.parentNode.parentNode.parentNode.id
text=browser("Browser").Page("Page").webelement("html
id:="
&newid).webelement("html tag:=Div","index:=0").getroproperty("innertext")
next

使用正值表达式归类出Text 的属于什么类型。(代码略)
我们在datatable 里面新建2 个列,一个命名为reg,一个是Value

Reg Value
姓名|name|名|公司小卢
maile|邮件51testing@51testing.com
地址|address 上海
电话|phone|传真000-1234567


除了上面提到的正规输入我们的value,我们还可以对它做许多其他的测
试操作,例如是否只支持数字输入、文字输入、特殊符号等等。
而我们会遍历所有的正值表达式,也就是Reg 列,等到确认了是那列时候,
再取出相应的Value,填入对应的Input。
使用这样的操作方法能够很快速的填入我们的事先确定好的“信息”,并且
给人感觉很智能。

结束语
让测试脚本更加灵活,更加智能,发挥自己的想象力去做好自动化测试,相
信你的明天会更好!

0
相关文章