2016-11-23 4 views
-1

У меня есть AUT (разработанный угловой JS). Я хотел бы знать, есть ли проблемы с распознаванием объектов с объектами в платформе разработки?Вопросы идентификации объекта в UFT 12.5

Я попытался использовать подход DP, .set, событие пожара, метод повторного воспроизведения и по-прежнему не устанавливает значение в моем поле WebEdit, вызывая сообщение об ошибке «объект не идентифицирован/один или несколько объектов с тем же свойством»

Мое требование состоит в том, чтобы ввести значение в WebEdit, затем на основе введенного значения отображаются соответствующие параметры (а не выпадающие), и мне нужно выбрать значение из параметров.

Это мой текущий код:

Dim current_Page 
Set current_Page = Browser("Start").Page("Start") 
current_Page.Sync 
Dim oDesc 
Set oDesc = Description.Create 'Create an empty description 
oDesc("micClass").value = "WebEdit" 
oDesc("type").value= "text" 
oDesc("name").value= "locationSearch" 
oDesc("html tag").value= "INPUT" 
Wait 2 
If current_Page.WebEdit(oDesc).Exist(1) Then 
    current_Page.WebEdit(oDesc).Highlight 
    current_Page.WebEdit(oDesc).Click 
End if 
current_Page.WebEdit(oDesc).set "06116" 
+0

Вы получаете «объект не идентифицированный/один или несколько объектов с тем же свойством» просто потому, что ваш AUT имеет другие объекты winedit с теми же свойствами, которые вы используете для идентификации вашего объекта. Проверьте используемые свойства и уточните их в orther, чтобы иметь подходящую идентификацию объекта. –

+0

Если у вас есть нужный объект, сопоставленный в ваших репозиториях объектов, откройте «Диспетчер репозитория объектов *», выберите свой сопоставленный объект и нажмите ** [Нет. Нажмите Добавить] ** рядом с настройками идентификатора * визуальных отношений * на правой панели. После этого нажмите на кнопку ** Preview ** в открывшемся окне. Он выделит на экране и покажет вам, сколько объектов у вас в AUT, которые имеют одни и те же свойства. После этого вы можете уточнить идентификацию объекта, пока не будет идентифицирован только один объект. Для получения дополнительной помощи, пожалуйста, предоставьте свой код –

+0

Hii Victor благодарит за комментарий. – user7199123

ответ

0

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

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

  • micClass - UFT узнаваемого класс, такими как WebEdit, WebElement, Link и так далее;
  • class - класс html, очень полезный, в зависимости от случая;
  • html id - это очень хороший, если ваш разработчик хороший парень и следует хорошей практике кодирования; и
  • html tag - также очень хорошо использовать.

Но это в значительной степени вопрос о шпионаже свойств ваших объектов и анализе вашего приложения, чтобы убедиться, что вы не столкнетесь с дубликатами.

Один из способов отслеживания свойств объекта - нажать F12 в вашем браузере и использовать инструментарий разработчика из браузера.

Другой способ - использовать Object Spy от UFT.

В любом случае вы должны быть в состоянии определить, какие свойства из ваших объектов уникальны. Если вы сопоставляете свой объект в репозитории объектов, вы также можете воспользоваться настройками идентификации визуальных ссылок, чтобы убедиться, что у вас есть уникальный объект, как я упоминал в своих комментариях.
Чтобы сделать это, выполните эти действия:

  1. Откройте Repository Object менеджер;
  2. Выберите свой отображаемый объект;
  3. Щелкните по [Нет.Нажмите, чтобы добавить] рядом с Настройки идентификатора визуального отношения на правой панели;
  4. Нажмите на Preview кнопки на окне, которое откроется

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

Еще один хороший способ использования этого ресурса (на самом деле главная причина его использования) заключается в том, что вы просто не можете найти правильные свойства, чтобы сделать свой объект уникальным для идентификации, потому что здесь вы можете фактически сопоставить другой объект, который всегда будет отображается рядом с нужным объектом. Здесь вы создаете визуальную ссылку, и UFT сможет распознать ваш объект. Вы можете найти очень хороший учебник о том, как использовать такой ресурс в этой ссылке:
https://www.joecolantonio.com/2012/02/03/qtp-visual-relation-identifier/

И последнее, но не менее, если вы находитесь в объект менеджера хранилища, забудьте установить Smart Identification собственность как False, чтобы убедитесь, что UFT не идентифицирует другой объект, чем тот, который вы ожидаете.

Я верю, что у вас больше шансов правильно идентифицировать ваш объект.

+0

Спасибо за великолепное объяснение. Большое спасибо – user7199123

+0

Я хочу автоматизировать веб-сайт электронной коммерции, где я могу выбрать 1 или 2 варианта, согласно выбранным параметрам он отобразит продукты/цену. не могли бы вы сказать, какой будет сценарий, используемый для того же самого, что и «objectSelectBox.Select» из списка », но он не работает в Uft, а также с внутренним текстовым методом тоже не работает. Не могли бы вы устранить проблему с тем же? – user7199123

+0

'objectSelectBox.Select" value from list "' будет работать только в том случае, если вы можете идентифицировать свой раскрывающийся объект как 'WebList'. Если ваш объект идентифицируется как' WebElement', вам труднее работать, но, к сожалению, это будет не по теме для текущего вопроса. Пожалуйста, создайте отдельную тему для этого, предоставив код тому, что вы уже пробовали по этому вопросу, поэтому сообщество может вам помочь. Большое вам спасибо :) –