Параллельное выполнение интеграционного теста с использованием фреймворка Citrus, интегрированного с огурцом

Я использую цитрусовый фреймворк, интегрированный с огурцом, для интеграционного теста (с разными файлами функций огурца).

У меня в Citrus настроены разные HTTP-сервисы.

Не могли бы вы подсказать мне, как я могу параллельно выполнять интеграционные тесты.

Интеграционные тесты используют эти цитрусовые сервисы. Мне нужно использовать некоторые (контекстные) переменные для проверки некоторых результатов тестов для всех сценариев, определенных в файлах функций Cucumber.

Или не могли бы вы подсказать мне, поддерживается ли многопоточность фреймворком Citrus, чтобы несколько сценариев огурца могли одновременно вызывать службу HTTP.


person bpa.mdl    schedule 11.07.2017    source источник


Ответы (1)


Тесты Citrus запускаются TestNG или JUnit, поэтому вам необходимо использовать методы параллельного выполнения этих фреймворков.

Я выполняю свои интеграционные тесты с отказоустойчивым плагином Maven (с использованием TestNG). Вы можете настроить его для параллельного запуска тестов, используя профиль, подобный следующему (также см. документация по maven-failsafe-plugin).

<profiles>
    <profile>
        <id>parallel</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <parallel>methods</parallel>
                        <threadCount>10</threadCount>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Это работает для TestNG, но я не уверен, работает ли это для JUnit.

Обычно параллельные HTTP-запросы не должны быть проблемой для Citrus, поскольку он автоматически сопоставляет действия HTTP-отправки и получения в одном и том же тестовом примере. Однако вы должны знать, что это не работает для сообщений JMS, для которых вам необходимо вручную установить идентификатор корреляции при отправке и использовать селектор для этого идентификатора корреляции при получении.

Попробуйте и посмотрите, подойдут ли вам параллельные тесты.

person gucce    schedule 03.08.2017