RobotFrameWork: как щелкнуть элемент, который представлен только иногда - PullRequest
0 голосов
/ 11 февраля 2019

Итак, есть веб-сайт, и иногда ему мешает элемент, вопрос всплывающего окна.

Я бы хотел щелкнуть по этому элементу и избавиться от всплывающего окна.

Но если всплывающее окно (с элементом) не отображается, я также хотел бы продолжить тест.без каких-либо помех.

Так, каков лучший способ справиться с этим?

Вы не можете просто сказать:

Click Element  newBtn LightGray noIcon

Потому что вы не знаете, есть ли оно там.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Чтобы проверить наличие локатора, вы должны использовать элемент WAIT UNTIL PAGE CONTAINS ELEMENT с аргументом тайм-аута.Мы должны позволить DOM или веб-странице завершить загрузку (несколько секунд), прежде чем мы сможем начать проверку на текущей странице.

 # *you click a link here....*
${check_popup}=  Run Keyword and Return Status   Wait Until Page Contains Element    locator    6s
 Run Keyword If      ${check_popup} == 'True'     Click Element  locator

Если вы заметили, аргумент timeout является необязательным и имеет значение по умолчаниюзначение, но я меняю его на 6 секунд.Если ваша веб-страница загружается медленно из-за производительности или других факторов, вам нужно увеличить время ожидания.Старайтесь не использовать ELEMENT, ДОЛЖНЫ БЫТЬ ВИДИМЫ, потому что это ключевое слово не будет работать, если всплывающее окно / страница или DOM еще не загружены полностью.

0 голосов
/ 11 февраля 2019

Проверьте наличие элемента и нажмите только на true;используйте Run Keyword And Return Status в сочетании с Element Should Be Visible:

${is visible}=    Run Keyword And Return Status    Element Should Be Visible    your_locator
Run Keyword If    ${is visible}    Click Element   your_locator

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

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