Разработка приложения для тестирования пользовательского интерфейса web-приложений и REST API
Журнал: Научный журнал «Студенческий форум» выпуск №31(124)
Рубрика: Технические науки
Научный журнал «Студенческий форум» выпуск №31(124)
Разработка приложения для тестирования пользовательского интерфейса web-приложений и REST API
Аннотация. Целью статьи является описание сравнительный анализ инструментов и фреймворков для тестирования пользовательского интерфейса web-приложений и REST API. Основным методом является сравнительный анализ. Результатом исследования является выбор оптимальных инструментов и фреймворков для решения поставленной задачи.
Ключевые слова: автоматическое тестирование, тестирование web-приложений, тестирование REST API, Selenium WebDriver, Rest-Assured.
Введение
Приложение для тестирования пользовательского интерфейса web-приложений и REST API разрабатывалось на языке программирования Java с использованием фреймворка Spring. Для обеспечения консистентности кода в приложении планировалось использовать только инструменты и фреймворки поддерживающие данный язык программирования.
1. Выбор инструмента для тестирования пользовательского интерфейса web-приложений
Для взаимодействия с браузером Selenium WebDriver является не только инструментом, но и W3 стандартом[1]. Selenium WebDriver поддерживает множество языков программирования, в том числе Java. На данном этапе выбор стоял между чистым WebDriver-ом и различными, поддерживающими язык программирования Java, «обёртками» над ним. К которым относятся: HTML Elements, Selenide, Serenity и некоторые другие. Однако плюсы данных «обёрток» ощущаются только при разработке тестового фреймворка с использованием шаблона проектирования Page Object. В разработанном же приложении данный шаблон проектирования не используется, поскольку информация необходимая для работы с веб-страницами хранится в базе данных. В результате было принято решение использовать Selenium WebDriver.
2. Выбор библиотеки для тестирования REST API
Для тестирования REST API рассматривались библиотеки поддерживающее язык программирования Javа и имеющих свободную лицензию. На данном этапе выбор стоял между Apache JMeter, Rest-Assured и Karate DSL. В таблице 1 представлен сравнительный анализ данных библиотек для тестирования REST API.
Таблица 1.
Сравнительный анализ библиотек для тестирования REST API.
Название библиотеки |
Поддержка языка программирования Java |
Свободная лицензия |
Простота использования |
Apache JMeter[2] |
+ |
+ |
- |
Rest-Assured[3] |
+ |
+ |
+ |
Karate DSL[4] |
+ |
+ |
+ |
Как видно из таблицы 1 Rest-Assured и Karate DSL обладают всеми необходимыми свойствами для использования в приложении. Karate DSL, однако, базируется на фреймворке Cucumber, который не планировалось использовать. В результате было принято решение использовать Rest-Assured.
3. Заключение
В результате проведённого анализа для тестирования пользовательского интерфейса web-приложений был выбран Selenium WebDriver, а для тестирования REST API — Rest-Assured.