我有一个使用 HP UFT 软件测试的 Web 应用程序。在我的应用程序中,有一个带有 onkeydown 属性的文本字段。当在文本字段中按下一个键时,会调用一个函数,该函数会根据按下的键触发不同的操作。我对回车键感兴趣。当按下回车键时,会在表单中创建行。如何模拟在字段中按下的回车键?
我努力了
field1.Set Chr(13)
field1.FireEvent "onkeydown"
但它不会触发事件。
我正在尝试使用 SendKeys 命令来避免。
我有一个使用 HP UFT 软件测试的 Web 应用程序。在我的应用程序中,有一个带有 onkeydown 属性的文本字段。当在文本字段中按下一个键时,会调用一个函数,该函数会根据按下的键触发不同的操作。我对回车键感兴趣。当按下回车键时,会在表单中创建行。如何模拟在字段中按下的回车键?
我努力了
field1.Set Chr(13)
field1.FireEvent "onkeydown"
但它不会触发事件。
我正在尝试使用 SendKeys 命令来避免。
如果您使用设备重播模式(如本答案中所述)并发送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>
这些是我尝试过模拟键盘事件并为我工作的一些方法..
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