Параллельное выполнение тестов Serenity -Cucumber

Я новичок в Serenity и BDD. У меня небольшой демонстрационный проект, основанный на модели Serenity-Cucumber и Page Based. Ниже приведена структура проекта:

введите описание изображения здесь

Функции входа в систему и выхода из нее имеют около 8 сценариев.

Я хочу иметь возможность запускать файлы функций параллельно. Какой самый простой и эффективный способ добиться этого?

Пока у меня есть

  1. Создал отдельный класс Runner для каждой функции, а затем использовал плагин failsafe или surefire - это то, чего я не хочу, так как мне не нужен новый runner для каждого файла функций.

  2. Использовал "cucumber-vm-parallel-plugin". Я копирую вставленный ниже код в мой файл pom. Ничего не случилось.

    <plugin>
    <groupId>com.github.temyers</groupId>
    <artifactId>cucumber-jvm-parallel-plugin</artifactId>
    <version>1.0.1</version>
    <executions>
        <execution>
            <id>generateRunners</id>
            <phase>validate</phase>
            <goals>
                <goal>generateRunners</goal>
            </goals>
            <configuration>
                <glue>com.automationrhapsody.cucumber.parallel.tests</glue>
                <featuresDirectory>src/test/resources/com</featuresDirectory>
                <cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>
                <format>json,html</format>
                <tags>"~@ignored"</tags>
            </configuration>
        </execution>
    </executions>
    

  3. Изучил документацию Serenity и запустил мою программу, используя следующие параметры, но не смог добиться параллельного выполнения.

mvn verify -Dthucydides.batch.count = 2 -Dthucydides.batch.number = 2

Я застрял здесь. Любая помощь (простая и эффективная) будет оценена. Также, пожалуйста, предложите, как варианты 2 и 3 выше могут быть выполнены правильно

Благодарю.

1 ответ

Вы также должны добавить плагин ниже.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19</version>
    <configuration> 
        <forkCount>5</forkCount>
        <reuseForks>true</reuseForks>
        <includes>
            <include>**/*IT.class</include>
        </includes>
    </configuration>
</plugin>
Другие вопросы по тегам