如何在UFT中模拟键盘输入事件

时间:2013-07-26 15:12:00

标签: javascript qtp hp-uft

我有一个Web应用程序,我正在使用HP的UFT软件进行测试。在我的申请中, 有一个带有onkeydown属性的文本字段。当在文本字段中按下某个键时,将调用一个函数,该函数根据按下的键触发不同的操作。我对enter键感兴趣。按下回车键后,将在表单中创建行。如何模拟在场内按下的回车键?

我试过了

field1.Set Chr(13)

field1.FireEvent "onkeydown"

但它不会触发事件。

我正在使用SendKeys命令尝试aviod。

3 个答案:

答案 0 :(得分:3)

如果您使用设备重播模式(如this answer中所述)并发送vbCRLF,您的应用程序将能够看到回车键。

Setting.WebPackage("ReplayType") = 2 ''# Changes to device mode
Browser("Enter").Page("Enter").WebEdit("WebEdit").Set  "a" & vbCRLF

这适用于以下示例页面(在IE上):

<!DOCTYPE html>
<html>
<head>
<title>Enter</title>
<script>
function okd() {
if (event.keyCode == 13)
    alert("Got enter");
}
</script>
</head>
<body>
<textarea onkeydown="okd()"></textarea>
</body>

答案 1 :(得分:1)

这些是我尝试过模拟键盘事件并为我工作的一些方法..

Set oShell = CreateObject("WScript.Shell")

oShell.SendKeys "{TAB}"           ' Click Tab Key
oShell.SendKeys "{ENTER}"         ' Click Enter\Return

我也用过

Type micAltDwn + "RETURN" + micAltUp ' Click Tab Key
Type micAltDwn + "TAB" + micAltUp    ' Click Enter\Return

如果你想输入字符

 oShell.SendKeys "{h}"           ' Click h Key
 oShell.SendKeys "{i}"           ' Click i Key

 Type micAltDwn + "h" + micAltUp    ' Click h Key
 Type micAltDwn + "i" + micAltUp    ' Click i Key

答案 2 :(得分:0)

WORKING FIDDLE

$(document).keyup(function (e) {
   $("#my_id").keyup(function (e) {
    if (e.keyCode == 13) {
        alert("Enter Simulated!!!")
       //your function goes here!!!
    }
});
    });

UPDATE:2nd demo