Руководство администратора
Для использования приложения вам потребуется составить один или несколько файлов с тестами. В качестве формата для файлов используется YAML.
Структура файла представляет собой набор параметров вида ключ: значение. Основные параметры должны быть указаны в каждом файле, параметры модуля задаются в зависимости от типа тестирования.
На данный момент в приложении доступны 3 модуля:
rest_api: для взаимодействия с REST API тестируемого сервиса;html: для web тестов;bash: для использования командной оболочки.
Основные параметры
name
Необязательное поле. Произвольное имя файла с тестами
module
Тип тестирования, поддерживается 3 значения: rest_api, bash, html
server_ip
IP-адрес тестируемого сервиса.
alias
Необязательное поле. При загрузке файла в приложение заданное значение будет отображено в столбце Псевдоним.
authentication
Необязательное поле. Учетные данные для аутентификации
Модуль rest_api
base url
Точка входа API.
urls
Запросы к ресурсам API.
Модуль html
base url
Базовый URL сервиса.
pages
Перечень URL и параметров для тестирования.
Модуль bash
commands
Набор выполняемых команд оболочки и проверок результата выполнения.
Описание параметров
alias
aliasНеобязательное поле. При загрузке файла в приложение заданное значение будет отображено в столбце Псевдоним.
Тип параметра: Основной.
Пример:
alias: "Псевдоним теста"authentication
authenticationУчетные данные для аутентификации.
Тип параметра: Основной.
Поддерживает следующие подпараметры:
authentication:authauthentication:loginauthentication:usernameauthentication:password
authentication:auth
authentication:authПозволяет указать тип аутентификации, если на конечном сервисе доступно несколько способов (например: внутренняя база данных, LDAP, Radius и т.д.).
Тип параметра: html, rest_api
Пример:
authentication:
auth: internalauthentication:login
authentication:loginИмя учетной записи.
Тип параметра: bash, html
Пример для модуля html:
authentication:
login: userДля модуля bash указывается в формате пользователь@адрес_сервиса:
authentication:
login: [email protected]authentication:username
authentication:usernameИмя учетной записи.
Тип параметра: rest_api
Пример:
authentication:
username: userauthentication:password
authentication:passwordПароль учетной записи.
Тип параметра: bash, html, rest_api
Пример:
authentication:
password: passwordbase url
base urlURL для доступа к тестируемому сервису.
Тип параметра: html, rest_api
Для модуля html указывается базовый URL сервиса:
base url: https://10.1.1.10/Для модуля rest_api указывается точка входа API:
base url: https://10.1.1.10/rest/commands
commandsНабор выполняемых команд оболочки и проверок результата выполнения, каждый элемент передается в виде списка значений.
Тип параметра: bash
Список передаваемых значений:
command: выполняемая команда оболочки;expect_contains: строка, которую должен содержать результат выполнения команды. Если параметр пуст, результат проверки всегда будет успешным. Регистр символов при проверке игнорируется.
Пример:
commands:
- command: uname
expect_contains: linux
- command: systemctl status tomcat9.service
expect_contains: active (running)module
moduleТип используемого для тестирования модуля приложения.
Тип параметра: Основной.
Возможные значения параметра:
rest_apibashhtml
Пример:
module: rest_apiname
nameПроизвольное имя файла с тестами.
Тип параметра: Основной.
Пример:
name: "Стандартный тест rest-api на сервере 10.1.1.10"pages
pagesПеречень URL и параметров для тестирования, каждый элемент передается в виде списка значений.
Тип параметра: html
Список передаваемых значений:
url: путь к тестируемой странице, полный URL формируется добавлением этого значения к параметруbase url;method: метод поиска веб-элемента, возможные значения:id,name,xpath,linktext,tag,class,css;value: значение для поиска, используется для всех методов поиска кромеlinktext;text: текст ссылки для поиска, используется с методомlinktext;click: нажатие на веб-элемент, возможные значения:falseилиtrue.
Расшифровка значений method:
id: поиск веб-элемента по атрибуту id;name: поиск веб-элемента по атрибуту name;xpath: поиск веб-элемента по XPath;linktext: поиск гиперссылки по тексту (частичное совпадение);tag: поиск веб-элемента по HTML-тегу;class: поиск веб-элемента по атрибуту class;css: поиск веб-элемента с использованием синтаксиса CSS selector.
Пример:
pages:
- url: page/login
method: tag
value: body
text:
click: falseserver_ip
server_ipIP-адрес тестируемого сервиса.
Тип параметра: Основной.
Пример:
server_ip: '10.1.1.10'urls
urlsЗапросы к ресурсам API, каждый элемент передается в виде списка значений.
Тип параметра: rest_api
Список передаваемых значений:
url: ресурс API, полный URL формируется добавлением этого значения к параметруbase url;method: метод HTTP, возможные значения:get,put,post,delete;body: набор данных, передаваемых в запросе, в форматеключ: значение, определяются API тестируемого сервиса;details: необязательное поле, позволяет выполнять запросы к вложенным элементам, если ресурс является коллекцией. Каждый элемент передается в виде списка значенийurl,method,body.
Пример:
urls:
- url: api-endpoint1/
method: post
body:
key1: value1
key2: value2
- url: api-endpoint2/
method: put
body:
key1: value1
key2: value2
details:
- url: detail/
method: put
body:
key1: value1Last updated