2015-04-09 4 views
2

Я автоматизирую веб-портал с помощью Iexplorer. Я использую UFT V11.50.Напишите в textBox, используя .Set с UFT

У меня проблемы при записи в текстовое поле. Я использую следующее заявление:

Browser ("browser"). Page ("page"). Frame ("Calendar"). WebEdit ("_ CALCOD"). Set "5" 

Я использую .set написать ему текстовое поле, и это работает, но это не записывается. Записывает в текстовое поле номер 5, а затем исчезает. Я не чувствую то же самое в другом текстовом поле.

Я не понимаю, что со мной происходит. Вы можете помочь?

+0

Вы пробовали функцию type()? Если это не сработает, попробуйте добавить небольшое ожидание, прежде чем вводить поле. – LittlePanda

ответ

1

Возможно, ваше поле редактирования отвечает на различные события HTML, чем использует UFT (UFT использует наиболее распространенные события).

Один из способов обойти это использовать переигровки устройства, это означает, что UFT будет имитировать человек, сидящие на клавиатуре и имитировать реальное устройство ввода компьютера, таким образом, браузер будет срабатывать все события, которые если бы реальный человек задал значение поля редактирования.

См. this answer для получения дополнительной информации о режиме воспроизведения устройства.

Setting.WebPackage("ReplayType") = 2 ' Enter device mode 

Browser("browser").Page("page").Frame("Calendar").WebEdit("_CALCOD").Set "5" 

Setting.WebPackage("ReplayType") = 1 ' Return to event mode 
+0

Я попробовал ваш ответ и также работал для меня. Большое спасибо. – Marta79

0

Я наконец нашел решение моей проблемы следующим образом:

Public function writeText(field) 
    Set x = Browser("browser").Page("page").Frame("Calendar").WebEdit("_CALCOD") 
    x.Object.innertext=field 
End Function 

поле = 5

Может быть, что мой ответ не самый оптимальный, но это сработало.

 Смежные вопросы

  • Нет связанных вопросов^_^