2014-12-01 3 views
1

В моем приложении мне нужно найти буквенно-цифровой идентификатор, который возвращает одну или несколько строк данных. В каждой из этих строк присутствует ссылка. Мне нужно щелкнуть по первой ссылке.Невозможно идентифицировать объект с помощью дескриптивного программирования, но в состоянии сделать это с объектом описания

К сожалению, у него нет уникальных свойств, поэтому я не могу добавить его в OR. Вместо этого я использовал описательное программирование примерно как

'returns false 
page.Link("class:=ng-binding","innertext:=AplhaID","html tag:=A").Exist 

QTP не может идентифицировать объект с указанным выше кодом. Поэтому вместо этого я попытался использовать объект описания, например, как ниже код

Set oDesc = Description.Object 
oDesc("class").Value = "ng-binding" 
oDesc("html tag").Value = "A" 
oDesc("innertext").Value = "AplhaID" 

Set lnk = page.ChildObjects(oDesc) 

'gives me 2 which is correct. There are two links 
msgbox lnk.Count 

'highlights the correct link 
lnk(0).Highlight 

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

Я посмотрел QTP descriptive programming issue, но значения свойств моей ссылки не имеют специальных символов.

ответ

1

Чтобы использовать метод дескриптивной строки, убедитесь, что у вас есть только один объект, соответствующий заданным свойствам.

Операция ниже может завершиться ошибкой, если имеется более одного объекта с заданными свойствами.

page.Link("class:=ng-binding","innertext:=AplhaID","html tag:=A").Exist 

Итак, вам нужно сделать заявление, чтобы найти объект уникальным образом. Попробуй это. Это будет работать!

page.Link("class:=ng-binding","innertext:=AplhaID","html tag:=A", "index:=0").Exist 
+0

Вы правы. Я просмотрел поиск с использованием других идентификаторов, и только с этим идентификатором я получал несколько строк. Благодаря! –

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

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