Почему мой код пропускает шаг на Robot Framework - PullRequest
1 голос
/ 01 ноября 2019

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

У меня уже естьпопытался щелкнуть область ввода и затем удалить текст с помощью Delete Text Clear Element Text id=bankAccount.iban, но он пропускает эту часть

Этот код взят из Robot Framework

*** Settings ***
Library           Selenium2Library

*** Variables ***
${Username}       myemailaddress@gmail.com
${Password}       12345678
${Browser}        Chrome
${SiteUrl}        http://our.siteaddress.fi/flfuserct-style/login
${DashboardTitle}    Our title was here
${ExpectedWarningMessage}    IBAN is invalid
${WarningMessage}    Adding a new bank failed!
${BankIban}       FI2112345600000788 (((this is not a real IBAN, so don't worry)))
${Delay1}         3s
${Delay2}         1s
${Delay3}         2s
${Delay4}         2s
${Delay5}         3s
${Delay6}         1s


*** Test Cases ***
Login Should Complete Without Errors, But Changing To A New Bank Should Fail Via Invalid IBAN
    Open Page
    Check Title
    Enter User Name
    Enter Password
    Click Login
    sleep    ${Delay1}
    Click My Info
    sleep    ${Delay2}
    Click Bank Account
    sleep    ${Delay3}
    Click Edit
    sleep    ${Delay4}
    Delete Text
    sleep    ${Delay5}
    Enter IBAN
    Assert Warning Message
    sleep    ${Delay6}
    [Teardown]    Close Browser


*** Keywords ***
Open Page
    open browser    ${SiteUrl}    ${Browser}
    Maximize Browser Window

Check Title
    Title Should be    ${DashboardTitle}

Enter User Name
    Input Text    css=[type="text"]    ${Username}

Enter Password
    Input Text    css=[type="password"]    ${Password}

Click Login
    Click Button    css=[type="submit"]

Click My Info
    Click Element    id=my-info

Click Bank Account
    Click Link    css=[href="/flfuserct-style/users/me/bank-accounts/primary"]

Click Edit
    Click Element    css=.MuiButton-label

Delete Text
    Clear Element Text    id=bankAccount.iban

Enter IBAN
    Input Text    id=bankAccount.iban    ${BankIban}

Assert Warning Message
    Element Text Should Be    id=bankAccount.iban-helper-text    ${ExpectedWarningMessage}    ${WarningMessage}

И этот код, еслис веб-сайта

<input aria-invalid="true" class="MuiInputBase-input MuiInput-input"
id="bankAccount.iban" name="bankAccount.iban" required="" type="text"
value="FI2112345600000788" aria-describedby="bankAccount.iban-helper-text">

Код из каркаса робота (https://imgur.com/RY7E5h6)

Код из журнала (https://imgur.com/XESLljF)

Если вы видите эти фотографии (извините, яЯ новичок здесь) первый из Robot Framework, в котором отображается журнал сообщений. Как вы можете видеть, он проходит тест без ошибок, но пропускает Clear Element Text part.

2-я картинка из журнала, в которой написано: Удаляет значение элемента ввода текста, идентифицированного локатором. Но этого не происходит. Он просто записывает IBAN после существующего, и он должен удалитьэто.

Кроме того, кажется, что я не могу сделать 3 * подряд, но Настройки,Переменные, тестовые случаи и ключевые слова имеют 3 звезды

1 Ответ

0 голосов
/ 01 ноября 2019

Для ключевого слова Delete Text я думаю, что немного яснее, если бы вы использовали что-то вроде

Input Text id=bankAccount.iban ${EMPTY}

Таким образом, вы фактически устанавливаете значение строки текстового поля в пустую строку, ивы уверены, что он будет работать, так как тот же локатор и тот же метод (ключевое слово Input Text) наверняка будут работать на следующем шаге, для добавления фактического значения (просто вместо того, чтобы добавить значение, вы устанавливаете этот параметр на пустую строку)

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