2015-04-09 1 views
2

Я пытаюсь написать функцию, чтобы распознать webelement, который имеет следующие свойства идентификации:Насколько надежным является использование abs_x/abs_y или x/y (относительный) для распознавания WebElement с помощью QTP/UFT?

  1. класс
  2. InnerText
  3. innerHTML
  4. abs_x и abs_y
  5. х и у (относительные)

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

Теперь у меня есть опция использования absx/absy или x/y. Я считаю, x/y будет лучше. Насколько он надежный?

ответ

1

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

Идти с 'innertext' & название класса. Если имя класса продолжает меняться, имеет ли он какой-либо шаблон, например class1, class2 ..etc. если да, вы можете использовать регулярное выражение. В худшем случае вы можете использовать Ordinal identifiers.

Я бы никогда не рассматривал координаты в моем тесте !!

0

Если возможно, избегайте использования координат для идентификации, так как это очень хрупкое (может нарушить испытание для любых незначительных изменений). Очевидно, abs_x хуже, чем x, поскольку это зависит от местоположения браузера в дополнение к расположению элементов на странице.

Я бы осмотрел элемент, чтобы увидеть, есть ли какие-либо свойства, которые его идентифицируют последовательно, это может быть нечто иное, чем перечисленные вами свойства (например, title, role), если возможно используйте это, а не местоположение.