QTP模拟键盘操作

Galatea ·
更新时间:2024-09-21
· 857 次阅读

  公司产品有个控件对象用Set方法赋值无效   但用手工操作确实是输入字符形式的操作   想了想既然直接赋值无效,那我模拟键盘操作来实现字符输入   具体步骤如下:   1. 让这个控件获得焦点,即光标落到这个控件中   2. 摸拟键盘操作完成字符输入   第1步还好,调用Object.focus即可(若无效,则也可用Click)   问题是第二步,怎么实现模拟键盘   遂百度之.   解决方案如下:   1. Type方法 (公司产品是Web产品,没有Type方法. Pass)   2. 调用WScript.Shell对象的SendKeys方法 (尝试后无效. Pass)   3. 调用QTP隐藏神器Mercury.DeviceReplay的SendString方法 (有效)   4. 调用Windows API (第三种方法已有效,未尝试,有兴趣的同学可以试一下)   附:Mercury.DeviceReplay的使用方法   Set device = createObject("Mercury.DeviceReplay")   device.sendString "theContent"   当然,Mercury.DeviceReplay还有很多其它方法,如:PressKey,PressKeys,KeyUp和KeyDown   再附:   尼玛要是用Selenium没这么麻烦   尝试用Selenium中的send_keys方法在相同控件中输入字符,完全没有问题啊(咦,好像方法名已经说明原因了)



qtp

需要 登录 后方可回复, 如果你还没有账号请 注册新账号