QTP学习日记_20090121
上一篇 /
下一篇 2009-01-21 16:57:10
/ 个人分类:QTP
以下是《摘抄》,非原创
QTP中WebElement对象的赋值
由于一般web上面的编辑控件,QTP都识别成WebElement对象,所以在编辑框中输入的内容,QTP没有录制下来,以下代码实现了WebElement的赋值:
Dim MyWebElement
Set MyWebElement = Browser("Tencent BBS V3.1_2").Page("Community Server - 回复内容").Frame("Frame").WebElement("WebElement").Object
MyWebElement.innerHTML = "替换成要输入的内容即可"
-------------------------------------
QTP中对识别为WebElement的对象进行输入操作的一种解决办法
在设计自动化框架的过程,发现了一些被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消息提示都可能使脚本失败。
欢迎交流更好的解决思路!
相关阅读:
- QTP与QC/TD整合 (fishy, 2009-1-16)
- QTP对象识别(一) (fishy, 2009-1-17)
- 对QTP的小的总结(1) (alex1919, 2009-1-18)
- QTP参数化后的脚本维护问题 (fishy, 2009-1-19)
- QTP令我很痛苦! (lqp, 2009-1-19)
- 【讨论】QTP测试连连看 (fishy, 2009-1-20)
- 关于QTP中“General Error while saving the test"的解决方法 (转) (wonew1228, 2009-1-20)
- QTP运行错误:对象无法识别的解决办法 (stbingf, 2009-1-21)
- QTP9.2和IE7.0的兼容问题 (stbingf, 2009-1-21)
- QTP识别和操作对象的原理 (stbingf, 2009-1-21)
收藏
举报
TAG:
QTP