__init__.robot файлы Robot Framework
Введение
Пример
В статье про шаблоны рассматривался похожий тест
*** Settings *** Documentation Flasky App Login Data-driven Test with ... Arguments Embedded to Keyword Name and ... Named Columns Resource users/users.resource Suite Setup Setup Suite Test Tags ui login Test Template Providing ${username} and ${password} Title Should Be ${expected} *** Variables *** *** Keywords *** Create Unique User &{unique_user}= Generate Unique User Set Suite Variable ${unique_user} Setup Suite Create Unique User Register User user=${unique_user} # To reduce variable names two new # variables are created here ${VALID USER}= Set Variable ${unique_user.username} Set Suite Variable ${VALID USER} ${VALID PASSWD}= Set Variable ${unique_user.password} Set Suite Variable ${VALID PASSWD} Test Setup Tasks Start Chromium Browser Test Teardown Tasks Close Browser Providing ${username} and ${password} Title Should Be ${expected} Open Browser To Login Page Log ${username} Log ${password} Input Username ${username} Input Password ${password} Submit Credentials ${title}= Get Title Log ${title} Should Be Equal ${title} ${expected} *** Test Cases *** USERNAME PASSWORD EXPECTED TITLE Valid Credentials ${VALID USER} ${VALID PASSWD} User Information - Demo App Invalid User Name invalid ${VALID PASSWD} Login Failure - Demo App Invalid Password ${VALID USER} invalid Login Failure - Demo App Invalid User Name and Password invalid invalid Login Failure - Demo App Empty User Name ${EMPTY} ${VALID PASSWD} Log In - Demo App Empty Password ${VALID USER} ${EMPTY} Log In - Demo App Empty User Name and Password ${EMPTY} ${EMPTY} Log In - Demo App Empty User Name Invalid Password ${EMPTY} invalid Log In - Demo App Invalid User Name Empty Password invalid ${EMPTY} Log In - Demo App
Если похожих тестов достаточно много имеет смысл выделить общие теги и Test Setup в отдельный
__init__.robot
файл.
Если использовались Sute Variable, то для их
доступности
из вложенных в директорию файлов нужно использовать
children=True
robot/ |-- tests | |-- __init__.robot | |-- invalid_login.robot | `-- valid_login.robot `-- resources |-- ui | `-- ui.resource `-- users `-- users.resource
*** Settings *** Documentation Flasky App Login and ... Registration Tests Resource ui/ui.resource Resource users/users.resource Suite Setup Setup Suite Test Tags ui *** Keywords *** Setup Suite Create Unique User Register User user=${unique_user} # To reduce variable names two new # variables are created here ${VALID USER}= Set Variable ${unique_user.username} Set Suite Variable ${VALID USER} children=True ${VALID PASSWD}= Set Variable ${unique_user.password} Set Suite Variable ${VALID PASSWD} children=True Create Unique User &{unique_user}= Generate Unique User Set Suite Variable ${unique_user} children=True Test Setup Tasks Start Chromium Browser Test Teardown Tasks Close Browser
Теперь тест свит можно писать без некоторых настроек, а также только с одним ключевым словом - шаблоном
*** Settings *** Resource users/users.resource Test Tags login Test Template Providing ${username} and ${password} Title Should Be ${expected} *** Variables *** *** Keywords *** Providing ${username} and ${password} Title Should Be ${expected} Open Browser To Login Page Log ${username} Log ${password} Input Username ${username} Input Password ${password} Submit Credentials ${title}= Get Title Log ${title} Should Be Equal ${title} ${expected} *** Test Cases *** USERNAME PASSWORD EXPECTED TITLE Valid Credentials ${VALID USER} ${VALID PASSWD} User Information - Demo App Invalid User Name invalid ${VALID PASSWD} Login Failure - Demo App Empty User Name and Password ${EMPTY} ${EMPTY} Log In - Demo App Empty User Name Invalid Password ${EMPTY} invalid Log In - Demo App
Автор статьи: Андрей Олегович
Robot Framework | |
Архитектура | |
Логи | |
__init__.robot | |
Подключение своих .py библиотек | |
Путь до библиотек и ресурсов | |
Keyword как декоратор | |
Template | |
Пример с pywinauto |