QTP之如何处理那些烦人的自定义控件(一)

上一篇 / 下一篇  2013-04-06 17:03:15 / 个人分类:QTP自动化测试

  在我们测试的软件中,有些控件是开发自定义的,我们无法捕获到它的唯一属性,或者我们无法通过调用标准控件的相关属性方法来实现我们想要的功能。
例如角色的选择
口 角色1  口 角色2  口司磅员
上面的例子中 口 角色1 的前面是一个WebCheckBox,后面却是一个WebElement,而我们要实现的功能是选择司磅员的角色,而这些角色是可以任意添加的,无法通过获取CheckBox中的属性去选择“司磅员”这个角色。本来想把“司磅员和口”虚拟化一个CheckBox,然后通过识别“司磅员”去做选择,但虚拟化后再录制的时候却无法识别虚拟化对象。因为通过TAB键和空格键可以进行选择,所以无奈之下,就选择利用SendKeys发送键值,来模拟特殊键,勉强实现我们想要的功能。
代码如下:
Sub inputkeys(command)
 Dim WshShell
 set WshShell = CreateObject("Wscript.Shell")
 WshShell.sendkeys command
End Sub
Browser("title:=xxxxx").Page("title:=xxx").Frame("name:=mainFrame").Link(""index:="&(i-2)").Click
inputkeys("{TAB}")
inputkeys("{TAB}")
inputkeys("5000")
inputkeys("{TAB}")
inputkeys("{ENTER}")
以下是几种特殊键的在sendkeys中的参数为
键名                   参数
SHIFT                   +
CTRL                    ^
ALT                     %
组合使用如下
WshShell.sendkeys("^+{ESC}")
WshShell.sendkeys("^+{TAB}")
sendkeys很管用,还可以解决当对象无法识别但又需要在此对象中输入字符串的难题。

TAG:

 

评分:0

我来说两句

Open Toolbar