Выбор окна с использованием частичного значения URL в Robot Framework или Python - PullRequest
1 голос
/ 05 февраля 2020

Мне нужно проверить, являются ли внешние ссылки активными и достижимыми, щелкая элементы на веб-странице. Ниже приведен пример, где нам нужно нажать на ссылку, чтобы перейти к panynj.gov. Проблема:

  1. в коде html, URL кодируется как href = "http://www.panynj.gov/", поэтому отсутствует протокол безопасности https:
  2. Если мы нажмем на ссылка, по которой открывается URL-адрес: «http s : //www.panynj.gov/port-authority/en/index.html»

Поскольку вновь открытый URL-адрес не соответствует исходному значению href, мой сценарий не может выбрать вновь открытую вкладку.

Я ищу решение, которое может либо:

  1. Выбрать Недавно открытая вкладка с использованием частичного текста URL. Например, я могу обрезать http: // из значения href и использовать «www.panynj.gov», чтобы выбрать вновь открытую вкладку, или
  2. . Я могу выбрать последнюю открытую вкладку (которая должна быть технически тот, который открылся после нажатия кнопки на элементе) со всех вкладок и запускает проверки.

Мои коды следующие:

*** Test Cases ***

Test for Selecting Tab using partial URL
   go to                ${HomePage}
   Click Element        xpath://*[@href="http://www.panynj.gov/"]   
   Test Navigation to unsecured url     http://www.panynj.gov/      ${HomepageTitle}


*** Keywords ***

Test Navigation to unsecured url
    [Arguments]     ${href}     ${Title_}
    ${str} =   Replace String   ${href}    http    https
    select window    url:${str}
    ${location}     get location
    run keyword if  "${Location}"=="${str}"    close window
    select window    ${Title_}

1 Ответ

1 голос
/ 06 февраля 2020

После ответа в Как перейти к новому окну браузера, используя частичный текст заголовка, используя либо Python, либо JavaScript, либо Robot Framework and Selenium от A Kootstra Я был успешно удалось решить мою проблему и перейти с использованием частичного текста URL.

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