Интеграция FAST в проект Azure DevOps
Настройка интеграции FAST в режиме CI MODE в рабочий процесс Azure DevOps выполняется через конфигурационный файл azure-pipelines.yml
. Подробная схема файла azure-pipelines.yml
описана в официальной документации Azure DevOps.
Настроенный рабочий процесс
Дальнейшая инструкция предполагает, что у вас уже есть настроенный рабочий процесс, соответствующий одному из свойств:
В рабочем процессе реализовано автотестирование: установите токен FAST-ноды, добавьте этап записи запросов и этап тестирования безопасности.
Для рабочего процесса уже записан набор базовых запросов: установите токен FAST-ноды и добавьте этап тестирования безопасности.
Установка токена FAST-ноды
Для безопасного использования токена FAST-ноды перейдите к редактированию существующего рабочего процесса и добавьте переменную окружения Azure DevOps.
Добавление этапа записи запросов
Для добавления этапа записи запросов дополните шаг автотестирования приложения следующими настройками:
Добавьте команду запуска FAST-ноды в режиме
CI_MODE=recording
и с другими переменными перед командой запуска автотестов. Например:docker run --name fast -d -e WALLARM_API_TOKEN=$WALLARM_API_TOKEN -e CI_MODE=recording -e WALLARM_API_HOST=us1.api.wallarm.com -e ALLOWED_HOSTS=app-test -p 8080:8080 --network my-network --rm wallarm/fast
Настройте проксирование автотестов через FAST-ноду. Например:
docker run --rm -d --name selenium -e http_proxy='http://fast:8080' --network my-network selenium/standalone-firefox:latest
Сеть Docker
Перед записью тестов убедитесь, что FAST-нода и инструмент тестирования запускаются в одной сети Docker.
Пример шага автотестирования приложения с запуском FAST-ноды в режиме записи
- job: tests
steps:
- script: docker network create my-network
displayName: 'Create my-network'
- script: docker run --rm --name dvwa -d --network my-network wallarm/fast-example-dvwa-base
displayName: 'Run test application on my-network'
- script: docker run --name fast -d -e WALLARM_API_TOKEN=$WALLARM_API_TOKEN -e CI_MODE=recording -e WALLARM_API_HOST=us1.api.wallarm.com -e ALLOWED_HOSTS=dvwa -p 8080:8080 --network my-network --rm wallarm/fast
displayName: 'Run FAST node in recording mode on my-network'
- script: docker run --rm -d --name selenium -e http_proxy='http://fast:8080' --network my-network selenium/standalone-firefox:latest
displayName: 'Run Selenium with FAST node as a proxy on my-network'
- script: docker run --rm --name tests --network my-network wallarm/fast-example-dvwa-tests
displayName: 'Run automated tests on my-network'
- script: docker stop selenium fast
displayName: 'Stop Selenium and FAST node in recording mode'
Добавление этапа тестирования безопасности приложения
Способ запуска тестирования безопасности зависит от аутентификации в приложении:
- Если аутентификация требуется, добавьте этап тестирования безопасности в один шаг с этапом записи запросов.
- Если аутентификация не требуется, добавьте этап тестирования безопасности в рабочий процесс как отдельный шаг.
Для запуска тестирования безопасности используйте следующие инструкции:
- Убедитесь, что тестируемое приложение запущено. Если требуется, добавьте команду запуска.
Добавьте команду запуска FAST-ноды в режиме
CI_MODE=testing
и с другими необходимыми переменными после команды запуска приложения.Использование записанного набора запросов
Если набор запросов был записан в другом рабочем процессе, при запуске FAST-ноды необходимо указать идентификатор существующей записи в переменной TEST_RECORD_ID.
Если значение переменной не указано, используется последний набор запросов, записанный FAST-нодой.
Пример команды:
docker run --name fast -e WALLARM_API_TOKEN=$WALLARM_API_TOKEN -e CI_MODE=testing -e WALLARM_API_HOST=us1.api.wallarm.com -p 8080:8080 -e TEST_RUN_URI=http://app-test:3000 --network my-network --rm wallarm/fast
Сеть Docker
Перед тестированием безопасности убедитесь, что FAST-нода и тестируемое приложение запускаются в одной сети.
В приведенном примере тестирование выполняется для приложения DVWA, в котором требуется аутентификация. Поэтому этап тестирования безопасности добавляется в один шаг с этапом записи запросов.Пример шага автотестирования приложения с запуском FAST-ноды в режиме тестирования
stages:
- stage: testing
jobs:
- job: tests
steps:
- script: docker network create my-network
displayName: 'Create my-network'
- script: docker run --rm --name dvwa -d --network my-network wallarm/fast-example-dvwa-base
displayName: 'Run test application on my-network'
- script: docker run --name fast -d -e WALLARM_API_TOKEN=$WALLARM_API_TOKEN -e CI_MODE=recording -e WALLARM_API_HOST=us1.api.wallarm.com -e ALLOWED_HOSTS=dvwa -p 8080:8080 --network my-network --rm wallarm/fast
displayName: 'Run FAST node in recording mode on my-network'
- script: docker run --rm -d --name selenium -e http_proxy='http://fast:8080' --network my-network selenium/standalone-firefox:latest
displayName: 'Run Selenium with FAST node as a proxy on my-network'
- script: docker run --rm --name tests --network my-network wallarm/fast-example-dvwa-tests
displayName: 'Run automated tests on my-network'
- script: docker stop selenium fast
displayName: 'Stop Selenium and FAST node in recording mode'
- script: docker run --name fast -e WALLARM_API_TOKEN=$WALLARM_API_TOKEN -e CI_MODE=testing -e WALLARM_API_HOST=us1.api.wallarm.com -p 8080:8080 -e TEST_RUN_URI=http://dvwa:80 --network my-network --rm wallarm/fast
displayName: 'Run FAST node in testing mode on my-network'
- script: docker stop dvwa
displayName: 'Stop test application'
- script: docker network rm my-network
displayName: 'Delete my-network'
Получение результата тестирования
Результаты тестирования безопасности отображаются в интерфейсе Azure DevOps.
Больше примеров
Больше примеров интеграции FAST в рабочий процесс Azure DevOps доступно в нашем GitHub.
Если у вас возникли вопросы по интеграции FAST в рабочий процесс Bamboo, обратитесь в службу поддержки Валарм.
results matching ""
No results matching ""
results matching ""
No results matching ""