QTP: Как мы фиксируем текст подсказки, отображаемый при наведении курсора на кнопку мыши? - PullRequest
2 голосов
/ 16 ноября 2011

Я пытаюсь захватить текст, отображаемый при наведении курсора на переключатель с Описательным программированием с использованием GetROProperty. Если я подсматриваю текст подсказки, он распознается как WebElement. Я попытался выполнить приведенный ниже код

setToolTip=Browser(strBrowser).Page(strPage).WebElement(strwebElement).GetROProperty("innertext")
MsgBox ToolTip

но я получаю сообщение об ошибке ниже

"Невозможно идентифицировать объект" [WebElement] из (класса WebElement. Убедитесь, что свойства этого объекта соответствуют объекту, отображаемому в настоящее время в вашем приложении ".

Если я запускаю тот же код, добавляя объекты в репозиторий объектов, я могу захватить текст всплывающей подсказки, используя GetROProperty

Есть ли какое-либо другое свойство, кроме GetROProperty, чтобы я мог захватить отображаемый текст подсказки, или есть какой-либо другой способ?

Пожалуйста, предложите.

Мой полный код выглядит следующим образом. Я также попробовал «object.tile», как было предложено, но все тот же вопрос.

Browser(strBrowser).Page(strPage).WebRadioGroup(strLogicalName).Select "true"
Browser(strBrowser).Page(strPage).WebRadioGroup(strLogicalName).FireEvent "onmouseover"
set ToolTip=Browser(strBrowser).Page(strPage).WebElement("strWebElement").Object.title

MsgBox ToolTip

Пожалуйста, предложите

Спасибо.

1 Ответ

2 голосов
/ 16 ноября 2011

Нативные подсказки на самом деле являются свойством title элемента HTML, поэтому для получения заголовка элемента вы можете сделать Browser("a").Page("b").WebElement("c").Object.title.

Однако из того, что вы описываете, звучит так, как будто ваша проблема заключается в идентификации объекта, а не в получении свойства, возможно, у тестируемого веб-приложения есть специальный javascript, который создает плавающий элемент HTML, отображающий текст. Если это так, возможно, этот элемент не создается до тех пор, пока не произойдет конкретное событие (вероятно, mouseover). Это может быть причиной того, что QTP не может распознать объект, он еще не существует. Если это действительно то, что происходит, вы должны сначала запустить соответствующее событие в базовом элементе HTML (используя метод FireEvent QTP), а затем попытаться поработать с элементом подсказки.

...