Как сделать среду тестирования Robot Framework API независимой? - PullRequest
1 голос
/ 11 февраля 2020

Я разрабатываю несколько Robot Framework API тестов.

Конечной целью является добавление набора тестов в наш проект, чтобы каждый раз, когда разработчик собирал и развертывал проект с Jenkins, тесты запускались автоматически, чтобы проверить, все ли работает правильно.

Я хочу, чтобы тесты проверяли, в какой среде они развертываются (Dev 1, 2, 3 / Test / Accept), и автоматически заполняли это как переменную. Например, https://${VARIABLE}.companyname.com/service/api должно превратиться в https://portal-01.dev.companyname.com/service/api при развертывании на сервере Dev 1. Таким образом, можно установить 1 набор тестов для всего без необходимости поддерживать набор для каждой среды.

Мы используем Consul для управления нашими службами и Ansible для развертывания, поэтому должна быть возможность получить тег оттуда или из Jenkins для заполнения этой переменной.

Кто-нибудь знает, как я могу получить этот тег и поместить эту переменную в Robot Framework?

1 Ответ

0 голосов
/ 11 февраля 2020

Используя переменные файлы , вы можете отделить свои тестовые логи c от необходимых тестовых данных. Это предпочтительный способ, вместо того, чтобы хранить данные вашей среды в том же файле, что и ваши тестовые логи c.

Информация может генерироваться динамически с использованием класса Python или Java или простого текста ( yaml ). Затем эти файлы могут быть добавлены к вашему тестовому запуску через командную строку:

robot --variablefile myvariables.py mytest.robot
robot --variablefile myvariables.yaml mytest.robot
...