Итак, Robot framework — это оригинальный keyword-driven фреймворк, который повсеместно используется в целях автоматизации тестирования ПО. Разработан на Python, и для создания тестов нужно всего лишь применять ключевые слова (англ. keywords), заложенные внутри данного фреймворка, не прибегая к программированию.
Использование Robot framework начинается с загрузки специальной библиотеки, после установки которой можно смело переходить к процессу создания персонализированных проверок (тестовых наборов).
Далее разберем некоторые особенности графического отображения самых главных параметров данного продукта.
Итак, в открытом виде, пользователю доступны следующие возможности:
- Папки с файлами для описания страниц и созданных тестов;
- Драйвера для используемых браузеров;
- Интерфейс активного теста (тело теста);
- Строка консоли, где можно запускать нужные тесты и анализировать консольные сообщения.
Преимущества использования
Минимальный порог входа
Так как Robot framework являет собой классический keyword-driven фреймворк, знаний основ программирования для его изучения требуется минимально. Это означает, что практически каждый участник проектной группы в компании по обеспечению качества сможет найти к нему подход. Но при желании можно использовать переменные, функции и возвращающие значения.
Полноценная поддержка Web / Mobile
Продукт полноценно функционирует в паре с web+mobile (как в форме end-to-end, так и в качестве атомарных тестов).
Использование тэгов
Пользователи могут задавать тэги вместо тестов. Внутри таких тэгов могут содержаться любые данные, которые можно использовать для идентификации теста: ID теста, перечень компонентов, которые используются в тесте и тому подобное. Такое решение позволяет создать связь тестов с требованиями ПО, а также корректный вектор для выполнения конфигурационного запуска проверок.
Первоклассные отчеты
Для формирования классической отчетности не нужно ничего особо выдумывать. Все отчеты формируются в автоматическом порядке без надобности ввода дополнительных команд.
Присутствуют параметры объединения итогов различных тестовых прогонов. По итогам прогона тестов создаются следующие виды файлов:
- Output.xml – итоги тестов в формате XML;
- Log.html – итоги тестов в виде HTML-структуры;
- Report.html – высокоуровневые итоги без детализации.
Возможность параллельного запуска
Параллельный запуск возможен при одновременном использовании Robot framework и pabot. Классическим предустановленным вариантом применения является простая команда root. Однозначно, все тесты должны быть рассчитаны на это и не влиять друг на друга.
Недостатки Robot framework
Нет возможности отладки встроенными средствами
Другими словами, продукт не содержит параметров для традиционной расстановки контрольных точек. Из-за этого пользователю нужно либо отображать что-то дополнительное в логе, либо использовать временные слипы.
Нет поддержки Amazon Web Services
К сожалению, популярная облачная платформа мобильных устройств не поддерживает тесты для Robot framework. Как альтернатива, можно воспользоваться услугами портала SauceLabs, и все тесты будут реализовываться на стороне Robot framework.
Масса IDE сложностей
Продукт иногда просто перестает работать как в режиме «редактор текста», так и при использовании режима работы в табличном виде. Также стоит отметить невозможность работы с некоторыми сторонними плагинами по причине отсутствия автозаполнения для некоторых библиотек (к примеру, SeleniumLibrary).
Нестабильная поддержка сторонних расширений и библиотек
Уже созданные библиотеки попросту не поддерживаются данным фреймворком. При желании можно создавать свои собственные библиотеки, но смысла в них немного, так как многократно использовать подобные расширения не представляется возможным.
Итоги
Как известно, инструмент – это только средство для достижения поставленной задачи, а значит у продукта Robot framework будут как приверженцы, так и критики.
Данный фреймворк обладает как набором полезных функций, так и, к сожалению, содержит некоторые недочеты в техническом плане, которые, возможно, будут преодолены в недалеком будущем.
0 Comments