#maven #jbehave #serenity-bdd
#maven #jbehave #serenity-bdd
Вопрос:
Как выполнить параллельные тесты Serenity JBehave Maven? Я пробовал с настройками: serenity.batch.size = 3 serenity.batch.count = 2
но тесты все еще не выполняются параллельно.
Мое согласие проверяется:
public class AcceptanceTestSuite extends SerenityStories {
private static final String STORY_FILE_NAME = "story.file.name";
public AcceptanceTestSuite() {
super();
Optional.ofNullable(System.getProperty(STORY_FILE_NAME)).ifPresent(this::findStoriesCalled);
configuration().useParameterControls(new ParameterControls().useDelimiterNamedParameters(true));
configuration().usePendingStepStrategy(new FailingUponPendingStep());
}
}
Комментарии:
1. Запрос на руководство не по теме. Пожалуйста, измените свой вопрос на более конкретный.
2. Я подумал, есть какой-нибудь пример, как настроить параллельное выполнение с Serenity JBehave. Я нашел несколько примеров, но большинство из них для Serenity Junit.
3. Тогда нам нужно закрыть вопрос, потому что это не по теме.
4. Я отредактировал вопрос
5. Используете ли вы объекты страницы? Были ли элементы и методы вашего объекта страницы определены как статические? Скорее всего, ваши проблемы не имеют ничего общего с JBehave или Serenity. Параллельное тестирование само по себе является сложной темой.
Ответ №1:
Параметры размера пакета и количества пакетов предназначены для запуска пакетов на нескольких машинах, а не для параллельного выполнения тестов на одной машине, и в любом случае не работают с JBehave. Лучшая стратегия — создать отдельный класс runner для каждого из ваших файлов истории и использовать Maven или Gradle для параллельного запуска классов runner.
Комментарии:
1. Спасибо за ответ, Джон. Мы начинаем новый проект, и я подумываю об использовании serenity framework. Мне интересно, если я выберу Cucumber вместо JBehave, было бы проще настроить параллельное выполнение?
2. Это было бы проще только в том смысле, что Cucumber более легко взаимодействует с TestNG. JBehave мог бы, но я когда-либо использовал его только с JUnit. TestNG значительно упрощает написание параллельных тестов.
Ответ №2:
Мне удалось сделать это так, как советовал Джон Смарт, используя отдельные классы runner. Спасибо.