软件测试工具QTP中对识别为WebElement的对象进行输入操作的一种解决办法

发表于:2009-07-06来源:作者:点击数: 标签:qtpQTPQTP教程
QTP中对识别为WebElement的对象进行输入操作的一种解决办法 qtp 教程 在设计自动化框架的过程,发现了一些被QTP识别为WebElement的对象,需要对其进行输入操作;而WebElement只有click方法,是没有输入的方法的。 考虑了实际中确实需要具有这种输入的支持(比

QTP中对识别为WebElement的对象进行输入操作的一种解决办法   qtp教程

在设计自动化框架的过程,发现了一些被QTP识别为WebElement的对象,需要对其进行输入操作;而WebElement只有click方法,是没有输入的方法的。
    考虑了实际中确实需要具有这种输入的支持(比如利用js生成的输入框,比较常见的是HTML编辑器输入框),就着手去解决。找到了一种解决办法:利用WshShell对象的SendKey方法来实现。在网上找了个html代码编辑器的实例,实现具体代码如下:

Option Explicit

Dim oWin32

Set oWin32 = CreateObject(\"wscrīpt.shell\")

oWin32.Run(\"http://www.ewebeditor.net/demo/\")

’由于html编辑器输入框没有找到稳定的属性用于识别,QTP录制时也没有录下对其操作,所以采用先将焦点移到其上一个对象,再按tab移动焦点到html编辑器上
Browser(\"title:=.*eWebEditor\").page(\"title:=.*eWebEditor\").WebList(\"name:=select\",\"index:=0\").FireEvent \"onfocus\"
’对IE窗口模拟键盘输入操作
 With oWin32
  .sendkeys \"{TAB}\"
  wait 2
  .sendkeys \"ksadjflonfocusksjdlemowstitlitoWebLeEvenfocusonfocusonfocusonfocusonfocusonfocusonfocusdsjflkjdsklfjlkdsjf\"
 End With

    以上是我想到的一种实现方式,也是目前正在使用的方式。但只是一个不得已的解决方法——因为这种方式是很脆弱的,焦点变动,甚至一个Windows消息提示都可能使脚本失败。

    欢迎交流更好的解决思路!

原文转自:http://www.ltesting.net