Создание тестов в Robot Framework, часть 1: начало работы |
28.08.2023 00:00 |
Автор: Баз Дейкстра (Bas Dijkstra) В этой серии статей я хочу рассмотреть ряд функций Robot Framework – библиотеки автоматизации тестирования с открытым исходным кодом, которую я считаю все еще недооцененной. Мы пошагово построим устойчивый, читабельный и поддерживаемый тест, используя Robot Framework и его библиотеки - Selenium (для тестирования UI) и requests (для тестирования API). В ходе работы вы познакомитесь с наиболее мощными функциями Robot Framework. Я предлагаю вам писать код по ходу статей, чтобы самостоятельно познакомиться с Robot Framework, но мой код также доступен на on GitHub. В первой статье мы узнаем, как начать работать с Robot Framework и SeleniumLibrary. Robot Framework (RFW) иногда называют «швейцарским армейским ножом» тест-автоматизации. Это фреймворк с открытым исходным кодом, который можно применять для создания тестов для широкого спектра приложений, взаимодействующего с различными интерфейсами и технологиями. В примерах из этой серии статей мы сконцентрируемся на создании тестов на уровне графического пользовательского интерфейса и REST API. Для GUI-тестов мы воспользуемся библиотекой SeleniumLibrary, которая снабжает RFW всей мощью Selenium WebDriver. Про Robot FrameworkЗачем нужна серия статей про RFW? Потому что я считаю, что больше людей должно научиться использовать RFW, и использовать его правильно. Это очень гибкий, на многое способный инструмент, и у него отличное сообщество и даже собственная конференция. Вместо того, чтобы писать код на Python, в RFW вы пишете тесты, используя ключевые слова в табличном формате. Поэтому начать работать проще, особенно потому, что множество функций доступны «из коробки». У инструмента также множество библиотек, еще больше его усиливающих, и вы можете создавать свои собственные. Все это мы рассмотрим в этой серии. Предварительные условияПрежде чем мы начнем, убедитесь, что у вас установлены:
Начало работыПрежде чем начать писать тесты, нам нужно установить RFW и SeleniumLibrary. Обе библиотеки доступны в едином установщике, поэтому вам нужно только запустить pip install robotframework-seleniumlibrary Если вы скачивали или клонировали код из репозитория GitHub, относящегося к этой серии статей, можно также запустить pip install -r requirements.txt из корневой папки проекта. Это установит как сам Robot Framework, так и SeleniumLibrary. Пока что это все, что нам нужно, чтобы начать писать тесты! Создание первого теста в Robot FrameworkRobot Framework ожидает, что тесты будут находиться внутри файлов с расширением .robot, поэтому сначала нужно их создать. Затем в файл нужно добавить ряд обязательных разделов. Начнем с раздела *** Settings ***, где хранятся настройки конфигурации и метаданные файла: *** Settings *** Строка Documentation содержит описание того, что покроет наш тест. Строка Library делает все ключевые слова SeleniumLibrary доступными в этом .robot-файле. Это очень похоже на конструкцию import в Java или Python. Затем мы добавим раздел *** Test Cases ***. Тут будут находиться наши кейсы. Кейс – это серия ключевых слов, которые совместно выполняют действия и проверки, из которых состоит тест. Наш тест-пример будет покрывать подачу заявки на займ в онлайн-банке и сравнение результата работы приложения с ожидаемым: *** Test Cases *** Каждое ключевое слово выполняет действие Selenium:
И так далее. Сейчас наш тест все еще очень процедурно составлен (кликнуть тут, напечатать это, …). Не волнуйтесь, мы улучшим его структуру, читабельность и возможности повторного использования кода в будущих статьях. Также надо отметить, что схожим с обычным Python-программированием образом отступы в тесте очень важны. Это, в частности, значит, что ключевые слова должны быть записаны через отступ (как минимум два пробела), а разделитель между двумя аргументами ключевого слова – тоже как минимум два пробела. Запуск нашего тестаТеперь, когда наш тест готов, его можно запустить через командную строку: robot article_01.robot Примечание: если вы хотите писать код по ходу чтения, пожалуйста, измените URL в первом аргументе ключевого слова Open Browser с http://localhost:8080/parabank на https://parabank.parasoft.com/parabank, чтобы получить доступ к публичной копии веб-приложения, для которого мы пишем тесты. Тест запустится, и RFW выведет результат в командную строку: К тому же RFW создаст HTML-отчет, обобщающий результаты теста: а также детальный, пошаговый лог, где содержатся результаты запуска и детали для всех ключевых слов, вызванных в ходе теста: Очень симпатично, и все это из коробки! На этом пока все. Мы разобрались, как установить Robot Framework и начать с ним работать, и написали первый тест для примера веб-приложения, используя SeleniumLibrary. Как я обещал, в следующей статье мы улучшим надежность нашего теста, внедрив явные ожидания Selenium и создавая свои собственные ключевые слова. |