RobotFramework-Zoomba-это коллекция библиотек, охватывающих GUI, REST API и автоматизацию API SOAP с использованием Robot Framework. Эти библиотеки являются расширениями существующих библиотек Селениумлибрика, запросов и суддибрыс.
Zoomba добавляет значительный объем поддержки проверки данных для REST и SOAP API и расширяет функциональность для типичной автоматизации веб -графического интерфейса.
Будучи командой, начинающей путешествие автоматизации с Robot Framework - мы обнаружили, что было некоторое время, потраченное на увеличение наших библиотек, и Robotframework -Zoomba стремится сделать этот процесс проще для новых проектов.
См. Документацию ключевого слова для библиотеки API, SOAP или GUI для получения более конкретной информации о функциональности.
Примеры тестов можно найти в каталоге образцов.
Работая с веб -страницами различного времени нагрузки, вы, вероятно, обнаружите, что выполняете много звонков, как SO:
Wait Until Page Contains Element locator
Click Element locator
Для простоты использования мы объединили их в простые ключевые слова One Line:
Wait For And Click Element locator
Wait For And Click Text text
Wait For And Select From List list_locator target_locator
Еще одно ключевое слово, которое особенно полезно, - это когда вы ждете, пока JavaScript завершится на странице, прежде чем продолжить:
Wait For And Click Element locator that leads to a new page with javascript
Wait Until Javascript Is Complete
Wait For And Click Element locator
Эта библиотека завершает библиотеку запросов, поэтому мы создали набор ключевых слов, чтобы легко позволить пользователям делать запросы в одном ключевом словах:
Call Get Request ${ headers_dictionary } endpoint query_string
Call Post Request ${ headers_dictionary } endpoint query_string ${ data_payload }
Получив ваши данные, мы сделали это невероятно легко подтвердить их. Ответ проверки содержит ожидаемый ответ, который принимает ваш полученный запрос и сравнивает его с вашими ожидаемыми данными. Если есть какие -либо ошибки, это будет сообщать о строке, что они есть.
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response }
Если есть какие -либо несоответствующие данные, это будет выглядеть примерно так:
Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]
Please see differing value(s)
Если вы хотите игнорировать ключ, такой как «update_date», вы просто установили бы переменную «игнорировать_Кис» на этот ключ или список ключей:
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys=update_date
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys= ${ list_of_keys }
Библиотека зоомбы легко устанавливается с помощью файла setup.py
в домашнем каталоге. Просто запустите следующую команду для установки ZOOMMA и ее зависимости:
pip install robotframework - zoomba
Если вы решите потянуть репо локально, чтобы внести вклад или просто хотите поиграть с кодом, вы можете установить Zoomba, выполнив следующее из корневого каталога :
pip install .
или если вы собираетесь запустить модульные тесты:
pip install .[ testing ]
Чтобы получить доступ к ключевым словам в библиотеке, просто добавьте следующее в настройки файла робота (в зависимости от того, что вам нужно):
** * Settings ** *
Library Zoomba . APILibrary
Library Zoomba . GUILibrary
Library Zoomba . SOAPLibrary
Примеры тестов можно найти в каталоге образцов.
Тестовый каталог также может содержать тесты, но имейте в виду, что они используются для тестирования выпусков и могут быть не такими простыми для использования, как в каталоге образцов.
Чтобы внести взносы, обратитесь к руководящим принципам.
См. Справочник .githooks для сценариев, чтобы помочь в разработке.
Вопросы общего робота должны быть направлены на форум сообщества.
По вопросам и вопросам, специфичным для зооммы, пожалуйста, создайте проблему здесь, на Github.