Maven-surefire-plugin не может загрузить мой suiteXmlFile - PullRequest
0 голосов
/ 27 апреля 2018

Плагин maven-surefire-не может загрузить мой suiteXmlFile. Возвращаемое значение 'willUsePorts' и 'deviceInfos' просто равно нулю. Пожалуйста, дайте мне знать, что не так.

Ниже мой pom.xml и структура. (моя структура: ptas / src / test / suite / AppiumTestSuite.xml)

Моя структура: СПТ / SRC / тест / люкс / AppiumTestSuite.xml

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.netmarble</groupId>
    <artifactId>ptas</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>ptas</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <argLine>-Dfile.encoding=UTF-8</argLine>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/suite/AppiumTestSuite.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <systemProperties>
                        <property>
                            <name>method</name>
                            <value>${method}</value>
                        </property>
                        <property>
                            <name>willUsePorts</name>
                            <value>${willUsePorts}</value>
                        </property>
                        <property>
                            <name>deviceInfos</name>
                            <value>${deviceInfos}</value>
                        </property>
                    </systemProperties>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.11.0</version>
        </dependency>
        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>5.0.2</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-testng</artifactId>
            <version>1.2.5</version>
        </dependency>
    </dependencies>
</project>

My structure

1 Ответ

0 голосов
/ 28 апреля 2018

Проблема не имеет никакого отношения к TestNG или вашему XML-файлу пакета.

Вы в основном настраиваете плагин surefire для установки некоторых аргументов JVM (через системные свойства). Но значения этих аргументов JVM называются свойствами (поскольку вы использовали ${willUsePorts} и ${deviceInfos}).

Таким образом, Maven попытается найти запись в разделе <properties> ваших pom.xml с именами <willUsePorts> и <deviceInfos> соответственно. Поскольку в вашем файле pom таких значений не определено, значения этих двух аргументов JVM устанавливаются как null.

Чтобы обойти проблему, вы должны либо пропустить -DwillUsePorts и -DdeviceInfos из командной строки при запуске mvn test, либо добавить соответствующие свойства в раздел <properties>, как упомянуто выше.

...