Robot Framework - всплывающее окно Focus / Select DropDown - PullRequest
0 голосов
/ 05 июля 2018

У меня есть требование написать тест пользовательского интерфейса с использованием Robot Framework. Я симулирую логин пользователя на этом сайте https://www.cosmote.gr/hub/ (выберите английский в правом верхнем углу веб-страницы). Пользователь должен нажать Войти / Зарегистрироваться, и появляется всплывающее окно:

всплывающее окно

Сейчас я пытаюсь добавить текст ввода в текстовое поле электронной почты, а также в поле пароля, а затем нажимаю кнопку для входа. Поскольку я новичок в Robot Framework, я не знаю, как сосредоточиться во всплывающем окне, и поэтому мой тест не пройден - он не может найти текстовое поле во всплывающем окне.

пример входа в систему

Мой код:

    *** Settings ***
Documentation    Present some information about this test suite
Library  Selenium2Library

*** Variables ***
${Browser} =  ff
${HOME_PAGE} =  https://www.cosmote.gr/hub/
${BUTTON_LOGIN} =  //*[@id="wcs_header"]/div[5]/div[1]/div[2]/div/div
${VALID_USERNAME} =  
${VALID_PASSWORD} =  
${PAGE_CONTAINS} =  My COSMOTE
${USERNAME_FIELD} =  //*[@id="loginIn"]
${PASSWORD_FIELD} =  //*[@id="pwdIn"]
${SUBMIT_BUTTON} =  //*[@id="loginBtnIn"]
${POPUP} =  //*[@id="cosid_md_login"]/div[2]
${FRAME} =  idmframeIn

*** Test Cases ***
User Login With Valid Credentials
    [Tags]  Login
    Open Browser  ${HOME_PAGE}  ${Browser}
    Wait Until Element Is Visible  ${BUTTON_LOGIN}
    Click Element  ${BUTTON_LOGIN}
    Wait Until Page Contains  ${PAGE_CONTAINS}
    Select Frame  id=${FRAME}
    Input text  ${USERNAME_FIELD}  ${VALID_USERNAME}
    Input password  ${PASSWORD_FIELD}  ${VALID_PASSWORD}
    Click Element  ${SUBMIT_BUTTON}
    Wait Until Page Contains  Hello
    Close Browser

Как мне сфокусировать / выбрать всплывающее окно, чтобы найти текстовые поля и элементы входа в систему?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 09 июля 2018

После запуска вашего примера я заметил, что окно не расширяется до максимального размера. Это может привести к тому, что строка поиска и ссылка будут перекрываться. Когда я добавил ключевое слово Maximize Browser Window, которое решило эту конкретную проблему.

Поскольку Select Frame вызывал проблемы, и в этом нет необходимости, удалите его из скрипта.

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

*** Settings ***
Documentation    Present some information about this test suite
Library  Selenium2Library

Suite Teardown    Close All Browsers

*** Variables ***
${Browser} =  chrome
${HOME_PAGE} =  https://www.cosmote.gr/hub/
# ${BUTTON_LOGIN} =  //*[@id="wcs_header"]/div[5]/div[1]/div[2]/div/div
${BUTTON_LOGIN} =  id=cosid_md_login
${VALID_USERNAME} =  dummy
${VALID_PASSWORD} =  dummy
${PAGE_CONTAINS} =  My COSMOTE
${USERNAME_FIELD} =  //*[@id="loginIn"]
${PASSWORD_FIELD} =  //*[@id="pwdIn"]
${SUBMIT_BUTTON} =  //*[@id="loginBtnIn"]
#${FRAME} =  idmframeIn

*** Test Cases ***
User Login With Valid Credentials
    [Tags]  Login
    Open Browser  ${HOME_PAGE}  ${Browser}
    Maximize Browser Window
    Wait Until Element Is Visible  ${BUTTON_LOGIN}
    Click Element  ${BUTTON_LOGIN}
    Wait Until Page Contains  ${PAGE_CONTAINS}
    # Select Frame  id=${FRAME}
    Input Text    ${USERNAME_FIELD}  ${VALID_USERNAME}
    Input password  ${PASSWORD_FIELD}  ${VALID_PASSWORD}
    Click Element  ${SUBMIT_BUTTON}
    Wait Until Page Contains  Hello
    Close Browser
...