RobotFramework: 1 тестовый сценарий, но несколько результатов.как справиться? - PullRequest
0 голосов
/ 25 января 2019

У меня есть файл, который содержит тестовые случаи .. как это так:

   *** Settings ***
Documentation     AREALVALID_LOGINbug4.ROBOT FILE    
...    
...    ese tests are data-driven by their nature. They use a single    
...    keyword, specified with Test Template setting, that is called    
...    with different arguments to cover different scenarios.    
...    
...    This suite also demonstrates using setups and teardowns in    
...    different levels.
Suite Setup       Open Browser To Login Page
Suite Teardown    Close Browser
Test Setup        Go To Login Page
Test Template     Login With Invalid Credentials Should Fail
Resource          validresourcebug4.robot

*** Test Cases ***               USER NAME        PASSWORD
testbug4a 16                        ${VALID USER}       14
testbug4a 17                        ${VALID USER}       17   

*** Keywords ***
Login With Invalid Credentials Should Fail
    [Arguments]    ${username}    ${password}
    Input Voedselnaam    ${username}
    Input Password    ${password}
    Submit Credentials
    Check Messages
    Set Browser Implicit Wait    1
    #    Wait Until Element Is Visible    test
    Login Should Have Failed

Login Should Have Failed
    Location Should Be    ${LOGIN URL}
    Title Should Be    Voedsel toevoegen
    Set Browser Implicit Wait    5

и у меня есть файл ресурсов, который выглядит так:

 *** Settings ***
Documentation     A resource file with reusable keywords and variables.
...
...               The system specific keywords created here form our own
...               domain specific language. They utilize keywords provided
...               by the imported SeleniumLibrary.
Library           SeleniumLibrary

*** Variables ***
#localhost:7272
${SERVER}                 testenvansoftware.nl/test/invoegenvoedselbug4.php
${BROWSER}                Firefox
${DELAY}                  0
${VALID USER}             90
${VALID PASSWORD}         60
${EIWIT}                  70
${VET}                    15
${LOGIN URL}      http://${SERVER}
${WELCOME URL}    http://${SERVER}/welcome.html
${ERROR URL}      http://${SERVER}/error.html

*** Keywords ***
Open Browser To Login Page
    Open Browser    ${LOGIN URL}    ${BROWSER}
    Maximize Browser Window
    Set Browser Implicit Wait    5
    Set Selenium Speed    ${DELAY}
    Login Page Should Be Open

Login Page Should Be Open
    Title Should Be    Voedsel toevoegen

Go To Login Page
    Go To    ${LOGIN URL}
    Login Page Should Be Open

Input Voedselnaam
    [Arguments]    ${username} 
    Input Text    voedselnaam    ${username}

Input Password
    [Arguments]    ${password}
    Input Text    Eenheid       ${password}
    Input Text    Kcal          ${password}
    Input Text    Eiwit         ${password}
    Input Text    Koolh         ${password}
    Input Text    Vet           ${password}

Submit Credentials
    Click Element   getdata
    Set Browser Implicit Wait    2

Check Messages
    Element Should Be Visible         //label[@class='err']      You       
    Element Text Should Be            //label[@class='err']      You found bug#3: The system crashes by testing this way. Great Job!
    Element Should Contain            //label[@class='err']      You        

Welcome Page Should Be Open
    Location Should Be    ${LOGIN URL}
    Title Should Be    Voedsel toevoegen
    Set Browser Implicit Wait    5

Теперь, если значение пароля равно 14, сообщение отличается от случая, когда значение равно 17.

так что же является лучшим решением? Каков наилучший способ настройки?

я должен собрать 2 тестовых файла .robot? или же я должен построить 2 файла ресурсов? или же... Возможно ли, что в 1 случае проверяется сообщение A, а во 2 случае проверяется сообщение B? пожалуйста, несколько советов ....

1 Ответ

0 голосов
/ 25 января 2019

Это на самом деле трудно понять, в чем именно заключается проблема, но если вы тестируете, что разные входные данные приводят к разным ошибкам, я бы порекомендовал включить строку теста с ожидаемой ошибкой в ​​тест.

Пример:

*** Test Cases ***       USER NAME        PASSWORD    EXPECTED ERROR
testbug4a 16             ${VALID USER}    14          You found bug #1 blah blah
testbug4a 17             ${VALID USER}    17          You found bug #2 yada yada
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...