Как QTP может распознать Web-элемент? - PullRequest
2 голосов
/ 10 ноября 2011

Я хотел бы получить информацию о веб-элементе. Этот веб-элемент всегда присутствует на странице. Но QTP не может распознать, потому что есть много веб-элементов с одинаковым классом. По умолчанию QTP раньше распознавал этот веб-элемент по его свойству InnerText , но в последней сборке InnerText стал динамически меняться. И количество веб-элементов требуемого класса меняется от сборки к сборке. Знаете ли вы, как я могу помочь QTP распознать этот объект? Я пытался добавить x и y абсолютные и относительные координаты, но это не сработало.

1 Ответ

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

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

Ваш вопрос не содержит достаточно информации, чтобы дать конкретный ответ, но вот как можно добиться идентификации объектов в общем случае:

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

  1. По умолчанию в QTP все веб-элементы вложены непосредственно в Page или Frame, но вы можете вкладывает объект в любой другой веб-элемент.Если ваш элемент содержится в другом элементе, который вы можете идентифицировать, перетащите его в хранилище объектов под указанным контейнером, и тогда описание должно быть уникальным только в отношении других элементов-потомков контейнера
  2. Предполагая, что выиспользуя QTP 11 (или позже), вы можете использовать визуальную идентификацию отношений.Это может быть очень полезно при идентификации объектов (см. Документацию для получения дополнительной информации).
  3. Если все остальное не помогло, вы можете использовать порядковый идентификатор, если 3 элемента соответствуют описанию, а искомый элемент всегда являетсяво-вторых, вы можете добавить эту информацию в разделе порядкового идентификатора хранилища объектов.
...