Запуск нескольких профилей Maven + Cuvumber JVM - PullRequest
0 голосов
/ 23 декабря 2019

Поскольку JVM от Cucumber не поддерживает профили, я пытаюсь использовать Maven. Я хочу активировать определенное подмножество тестов, основанное на его теге, и указать его в правильной среде.

Вот мой файл функций:

Feature: Validate data

  @dev
  Scenario: Dev environment
    Given dev data

  @qa
  Scenario: Test environment
    Given test data

Вот мой pom.xml:

...
    <profiles>
        <profile>
          <id>dev</id>
            <properties>
                <cucumber.options>
                    --tags @dev
                </cucumber.options>
                <base.url>http://dev.base.url.to.application</base.url>
            </properties>
        </profile>
        <profile>
          <id>qa</id>
            <properties>
                <cucumber.options>
                    --tags @qa
                </cucumber.options>
                <base.url>http://qa.base.url.to.application</base.url>
            </properties>
        </profile>
        <profile>
            <id>firefox</id>
        <properties>
            <driver.class>org.openqa.selenium.firefox.FirefoxDriver</driver.class>
        </properties>
        </profile>
        <profile>
            <id>chrome</id>
                <properties>
                    <driver.class>org.openqa.selenium.chrome.ChromeDriver</driver.class>
                </properties>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <cucumber.options>${cucumber.options}</cucumber.options>
                            </systemPropertyVariables>
                        </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Когда я пытаюсь запустить несколько профилей одновременно, то есть, используя следующую команду:

mvn test -P dev,qa

Получает только один из моих тестовказнены. Если я запускаю его без профилей, выполняются оба теста (в частности, профиль qa). Я неправильно настроил свои профили? Или это проблема с моими тегами?

1 Ответ

0 голосов
/ 02 января 2020

В профиле dev для свойства cucumber.options установлено значение --tags @dev. В профиле qa для свойства cucumber.options установлено значение --tags @qa. Таким образом, при объединении этих профилей с -P dev,qa профиль qa переопределяет значение cucucumber.options, установленное профилем dev.

И поскольку это один элемент combine.children=merge не будет работать, и нет хорошего способа объединить эти профили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...