Robot Framework: дождитесь, пока элемент станет видимым, а элемент должен быть видимым, какой из них лучше использовать? - PullRequest
0 голосов
/ 05 ноября 2018

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

  1. Лучше ли использовать Подождите, пока элемент станет видимым для всех 20 элементов?

OR

  1. Используйте Подождите, пока элемент станет видимым для одного элемента (например, текста заголовка), чтобы мой сценарий автоматизации знал, что страница загружена, И затем используйте Элемент должен быть видимым для остальных (например, поля формы)?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

При строгом сравнении производительности скорость выполнения Wait Until Element Is Visible против Element Should Be Visible для элементов, которые уже присутствуют в DOM , практически одинакова.
Они оба делают одно и то же - находят элемент в DOM и вызывают метод is_visible() Селена. Разница заключается в том, что Wait Until повторяется и повторяется в случае сбоя любого из двух шагов.

Таким образом, для вашего (или аналогичного) случая, когда наличие одного элемента (заголовка) должно гарантировать, что остальные 19 также уже загружены, какой из них использовать не имеет значения.
Если вы используете Wait Until ... в заголовке и Element Should Be Visible в остальных, вы также будете проверять это предположение в вашем случае. Естественно, если все элементы, кроме 19-го, загружаются вместе с заголовком, регистр завершится неудачей.
Если вы используете Wait Until ... для всех элементов, вероятность прохождения будет выше - если какой-либо из элементов будет добавлен и визуализирован медленнее, чем остальные, kw будет ждать его. Очевидно, что эта ситуация приведет к замедлению времени выполнения - из-за ожидания выполнения условия.


Что касается удобства чтения одного против другого, я не буду это комментировать. Это вопрос реализации и структуры кода; Вы всегда можете заставить что-то простое выглядеть ужасно или красиво представить сложное решение :). То же самое, что python, позволяющий писать код, например поэзию или безобразный беспорядок Ваш действительно виновен в том, что вы все это сделали:)

0 голосов
/ 05 ноября 2018

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

В идеале Waits должен быть реализован строго в соответствии с вашими вариантами использования и этапами тестирования .

  • Использование Wait Until Element Is Visible: если ваш сценарий использования включает в себя видимость всех 20 элементов, хотя Ожидание пока элемент не станет видимым является наилучшим соответствием .

  • Использование Wait Until Element Is Visible для текста заголовка И затем использование Element Should Be Visible: если ваш сценарий использования предполагает видимость любого элемента, вызывая Wait Until Element Is Visible for header text будет полным накладными расходами . Поскольку у вас нет проверки с текстом заголовка , этот шаг не требуется. Скорее вы должны непосредственно вызвать Подождите для видимости желаемого элемента (ов) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...