Как вы моделируете событие ввода с клавиатуры в UFT
У меня есть веб-приложение, которое я тестирую с помощью программного обеспечения HP UFT. В моем приложении есть текстовое поле с атрибутом onkeydown. Когда клавиша нажата в текстовом поле, вызывается функция, которая запускает различные действия в зависимости от того, какая клавиша была нажата. Я заинтересован в вводе ключа. Когда клавиша ввода нажата, строки создаются внутри формы. Как я могу имитировать нажатие клавиши ввода в поле?
я пытался
field1.Set Chr(13)
field1.FireEvent "onkeydown"
но это не вызывает событие.
Я пытаюсь aviod с помощью команды SendKeys.
3 ответа
Если вы используете режим воспроизведения устройства (как описано в этом ответе) и отправляете 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
$(document).keyup(function (e) {
$("#my_id").keyup(function (e) {
if (e.keyCode == 13) {
alert("Enter Simulated!!!")
//your function goes here!!!
}
});
});
ОБНОВЛЕНИЕ: 2-я демоверсия