51Testing软件测试论坛

标题: QTP没有执行SendKeys键盘事件 [打印本页]

作者: xiaoxiao_cao    时间: 2016-8-5 11:12
标题: QTP没有执行SendKeys键盘事件
systemutil.Run "www.baidu.com"
wait (20)
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").FireEvent ("onfocus")
wait (10)
Dim WshShell
Set WshShell=CreateObject ("WScript.Shell")
WshShell.SendKeys "hello"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click

运行到输入hello时,QTP没有执行,直接执行了click操作。
求解

作者: puchonghui    时间: 2016-8-5 13:41
我记得vb的sendkeys是同步执行的,试试看加个参数行不行
WshShell.SendKeys "hello",True
作者: xiaoxiao_cao    时间: 2016-8-5 14:03
不行  还是不执行hello
作者: xiaoxiao_cao    时间: 2016-8-5 14:04
puchonghui 发表于 2016-8-5 13:41
我记得vb的sendkeys是同步执行的,试试看加个参数行不行
WshShell.SendKeys "hello",True

不行  还是不执行hello
作者: seagull1985    时间: 2016-8-5 14:16
顶。。。。。
作者: puchonghui    时间: 2016-8-5 17:02
xiaoxiao_cao 发表于 2016-8-5 14:04
不行  还是不执行hello

你查下qtp的资料吧,如果代码没报错的话,不执行输入多半就是同步异步的问题,脚本已经执行到click了,前面sendkey没执行完。。。
作者: puchonghui    时间: 2016-8-8 09:13
实在不行的话,在click之前加个WScript.Sleep 500

个人不太推荐这种做法,不过如果没其他解决办法的话-_-


作者: nixiaohua41    时间: 2016-8-15 21:54
我试了一下,键盘是有输入hello的,但是由于是中文输入法,导致没有输进去,可以切换输入法为英文或者发送多一个回车键
作者: xiaoxiao_cao    时间: 2016-8-26 16:00
我的QTP没有装WEB插件 AJAX。我刚才装了一下,然后重新执行,就能执行鼠标事件了。也不知道是不是这个原因




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2