2015-01-28 1 views
2

На странице есть текстовое поле, которое я бы хотел, чтобы QTP вводил сумму для меня. Идентификатор HTML поля имеет динамическое имя gh44jer4u.Amount, но заканчивается суммой слов. Как я могу это называть? Могу ли я использовать Содержит или Концы с внутренним идентификатором html?Как определить динамически изменяющийся идентификатор html с использованием QTP/UFT

Что-то вроде этого:

Browser("Browser").Page("Page").WebEdit("html id:=.Amount").Set "348934" 

ответ

2

При использовании описательного программирования UFT использует регулярные выражения. Таким образом, используемый вами . - это не буквальная строка ".", а означает любой символ.

Описание должно соответствовать всей строке, поэтому вам нужно что-то вроде этого.

.*\.Amount 

Который согласно regex101.com означает:

/.*.Amount/
.* соответствует любому символу (кроме символа новой строки)
квантора: * Между нулем и неограниченное количество раз, столько раз, сколько возможно, отдача по мере необходимости [жадный]
\. соответствует характеру . буквально
Amount соответствует символам Amount буквально (чувствительно к регистру)

Так полная линия должна быть:

Browser("Browser").Page("Page").WebEdit("html id:=.*\.Amount").Set "348934"