Перейти к содержимому

Фотография

QTP[10]>Не могу добиться нажатие клавишь с клавиатуры


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Sting.sk

Sting.sk

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Станислав Волков

Отправлено 24 сентября 2009 - 09:46

Добрый день.

Есть такая проблема. В элементах WebEdit необходимо вводить данные имитируя нажате клавиатуры, элементы на странице не разблокируется при использовании .Set

Пробывал
Set MyWebEdit = Browser("").Page("").WebEdit("").Object
MyWebEdit.focus

MyWebEdit.SendKey "UTRO"

Ругается при любом использовании Type, PressKey

Также пробывал Browser("").Page("").WebEdit("").Type micLAltUp

на .Activate тоже ругается


Не подскажете что я делаю не так или Как правильно можно имитировать нажатия клавиш в браузере

Версия 10.0 пробная, включены аддоны ActiveX, VisualBasic,Web

Прошу извинить если вопрос тупой, только изучаю продукт и уперся в эту проблему .
  • 0
"I aspire, sir, to be better than I am"

#2 gralex

gralex

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Груба Алексей

Отправлено 24 сентября 2009 - 10:14

Насколько я понял, у вас при вводе значение должны выполняться какие-то действия на странице (разблокируется что-то). Вероятно, что это реализуется путем обработки каких-то событий у нужного input.

Соответвенно, необходимо принудительно сэмулировать вызов нужных событий (по исходному коду страницы можно определить, что обрабатывается) - для этого у QTP-объектов есть метод fireEvent (детально описан в хелпе) или можно использовать работу с native-объектами (как вероятно и пытаетесь делать вы):
Вот приблизительный фрагмент (нужные события выберите сами)
Set objEdit = Browser("Google").Page("Google").WebEdit("q").object
objEdit.value = "u"
objEdit.fireevent("onchange")
objEdit.fireevent("onkeypress")
objEdit.fireevent("onkeydown")
objEdit.fireevent("onkeyup")

А sendKeys - это метод объекта WScript.Shell, причем вводимое значение зависит от текущего языка, пример выше можно записать типа так:
set WshShell = CreateObject("WScript.Shell")
Call Browser("Google").Page("Google").WebEdit("q").object.focus()
WshShell.SendKeys "u"

  • 0

#3 Sting.sk

Sting.sk

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Станислав Волков

Отправлено 12 октября 2009 - 09:03

Спасибо
  • 0
"I aspire, sir, to be better than I am"


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных