Параллельное выполнение с Serenity и JBehave?

#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. Спасибо.