С помощью DESCRIPTIVE PROGRAMMING, как QTP11, может найти ссылку (веб-ссылку) на веб-странице - PullRequest
1 голос
/ 28 декабря 2011

Я новичок в QTP и пытаюсь использовать версию 11 для автоматизации моего проекта.

Используя описательное программирование, QTP может найти ссылку на веб-странице. HTML-код для ссылки написан в функции Onclick (например, onclick="navigationClick('Link Name');)

Я пробовал это:

If Browser(Browsername).Page(Pagename).Link("html tag:='Value',"id:=X","title:=Y","class:=Z").Exist(50)Then
   Browser(Browsername).Page(Pagename).Link("html tag:='Value',"id:=X","title:=Y","class:=Z").click

Else

 MsgBox "Link cannot be found"

Но когда я запускаю скрипт, он всегда показывает, что ссылка не найдена.

Примечание:

Используя то же описательное программирование, я могу найти ссылку на веб-странице, если HTML-код для ссылки записан как OnClick='javascript.navigationClick(Link);"href='javascript:void(0);

1 Ответ

4 голосов
/ 28 декабря 2011

При втором чтении вашего вопроса я думаю, что проблема в том, что ссылка, которую вы пытаетесь идентифицировать, не имеет href.QTP не считает ссылки без href реальными ссылками.Возможно, если вы попытаетесь использовать WebElement вместо Link, идентификация пройдет успешно.

Также обратите внимание, что QTP использует свойство html id вместо id.

* 1010 DOM.*

(мой оригинальный ответ следует)


Вы можете получить доступ к атрибуту onclick, используя синтаксис attribute/ для доступа к собственным атрибутам DOM.

Browser(B).Page(P).Link("attribute/onclick:=navigationClick\('Link Name'\);")

Примечаниечто описательное программирование использует регулярные выражения, поэтому вам нужно экранировать специальные символы (например, скобки в этом примере).

...