Руководство администратора

Для использования приложения вам потребуется составить один или несколько файлов с тестами. В качестве формата для файлов используется 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: "Псевдоним теста"

authentication

Учетные данные для аутентификации.

Тип параметра: Основной.

Поддерживает следующие подпараметры:

  • authentication:auth

  • authentication:login

  • authentication:username

  • authentication:password

authentication:auth

Позволяет указать тип аутентификации, если на конечном сервисе доступно несколько способов (например: внутренняя база данных, LDAP, Radius и т.д.).

Тип параметра: html, rest_api

Пример:

authentication:
  auth: internal

authentication:login

Имя учетной записи.

Тип параметра: bash, html

Пример для модуля html:

authentication:
  login: user

Для модуля bash указывается в формате пользователь@адрес_сервиса:

authentication:
  login: user@10.1.1.10

authentication:username

Имя учетной записи.

Тип параметра: rest_api

Пример:

authentication:
  username: user

authentication:password

Пароль учетной записи.

Тип параметра: bash, html, rest_api

Пример:

authentication:
  password: password

base url

URL для доступа к тестируемому сервису.

Тип параметра: html, rest_api

Для модуля html указывается базовый URL сервиса:

base url: https://10.1.1.10/

Для модуля rest_api указывается точка входа API:

base url: https://10.1.1.10/rest/

commands

Набор выполняемых команд оболочки и проверок результата выполнения, каждый элемент передается в виде списка значений.

Тип параметра: bash

Список передаваемых значений:

  • command: выполняемая команда оболочки;

  • expect_contains: строка, которую должен содержать результат выполнения команды. Если параметр пуст, результат проверки всегда будет успешным. Регистр символов при проверке игнорируется.

Пример:

commands:
  - command: uname 
    expect_contains: linux
  - command: systemctl status tomcat9.service
    expect_contains: active (running)

module

Тип используемого для тестирования модуля приложения.

Тип параметра: Основной.

Возможные значения параметра:

  • rest_api

  • bash

  • html

Пример:

module: rest_api

name

Произвольное имя файла с тестами.

Тип параметра: Основной.

Пример:

name: "Стандартный тест rest-api на сервере 10.1.1.10"

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: false

server_ip

IP-адрес тестируемого сервиса.

Тип параметра: Основной.

Пример:

server_ip: '10.1.1.10'

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: value1

Last updated