Я думаю, что вы ищете profiles
в Maven. Смотрите здесь для получения дополнительной информации
В вашем pom.xml добавьте раздел profiles
и ваш plugins
перейдет в <pluginManagement>
в теге build
, как показано ниже
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<pluginManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>suite1.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>suite1</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng-customsuite.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>suite2</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>suite2.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
....
</dependencies>
Затем на основе profiles
вы можете активировать profile
, как это из командной строки, и тогда suite
, упомянутый в этом профиле, будет выполнен
mvn clean test -P suite2
Обратите внимание, что
<pluginManagement>
- определить плагины
<plugins>
- активировать плагины
<profile>
- запустить подходящий плагин в зависимости от того, что вы передаете в командной строке
Этот профиль также может быть активирован через переменные окружения
Сверху ссылка Supported variables are system properties like ${user.home} and environment variables like ${env.HOME}
РЕДАКТИРОВАТЬ: Посмотрите на это , кажется, это говорит о том, что вы пытаетесьсделать это может быть невозможно, но вы можете попробовать второе решение. Именно это я и имел в виду, когда копировал вставленный выше текст с официального сайта.