运行两个maven配置文件

时间:2016-08-05 15:11:46

标签: maven selenium selenium-webdriver pom.xml maven-surefire-plugin

pom.xml

中的我的个人资料
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
            <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.4.1</version>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>test-output</directory>
                        <followSymlinks>false</followSymlinks>
                    </fileset>
                </filesets>
            </configuration>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>runWithHead</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</version>
                    <executions>
                        <execution>
                            <id>execution1</id>
                            <configuration>
                                <systemPropertyVariables>
                                    <homepage>${ADDRESS}</homepage>
                                    <head>true</head>
                                    <browsers>${browser}</browsers>
                                    <chromeDriverLocation>${chromeDriver}</chromeDriverLocation>
                                </systemPropertyVariables>
                                <suiteXmlFiles>
                                    <suiteXmlFile>src/test/resources/testng/testng.xml</suiteXmlFile>
                                </suiteXmlFiles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
        <id>runHeadlessly</id>
        <properties>
            <displayProps>target/selenium/display.properties</displayProps>
        </properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>selenium-maven-plugin</artifactId>
                    <version>2.3</version>
                    <executions>
                        <execution>
                            <id>xvfb</id>
                            <phase>test-compile</phase>
                            <goals>
                                <goal>xvfb</goal>
                            </goals>
                            <configuration>
                                <browsers>${browser}</browsers>
                                <displayPropertiesFile>${displayProps}</displayPropertiesFile>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</version>
                    <executions>
                        <execution>
                            <id>execution2</id>                 
                            <configuration>
                                <systemPropertyVariables>
                                    <homepage>${ADDRESS}</homepage>
                                    <head>false</head>
                                    <display.props>${displayProps}</display.props>
                                    <browsers>${browser}</browsers>
                                    <chromeDriverLocation>${chromeDriver}</chromeDriverLocation>
                                </systemPropertyVariables>
                                <suiteXmlFiles>
                                    <suiteXmlFile>src/test/resources/testng/testng.xml</suiteXmlFile>
                                </suiteXmlFiles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

首先我们有共享插件,然后是两个不同的配置文件。 当我尝试用一​​个命令运行它们时

mvn clean install -P runHeadlessly,runWithHead

只有具有xvfb id的插件才会被执行,任何想法? (没有使用默认属性变量发布部件)

1 个答案:

答案 0 :(得分:1)

您已定义了两个配置文件:

  • 第一个个人资料runWithHead定义maven-surefire-plugin 的执行,而不指定任何目标元素(在goals部分内),因此执行空白< / LI>
  • 第二个配置文件runHeadlessly定义selenium-maven-plugin插件的执行和目标,并再次执行maven-surefire-plugin
  • 的空执行

因此,两个配置文件都已执行,但实际上只会执行xvfb执行xvfb selenium-maven-plugin

由于maven-surefire-plugin只有one goaltest,请尝试在两个执行中添加以下内容:

<goals>
   <goal>test</goal>
<goals>

另请注意:您将在默认maven-surefire-plugin执行之上配置default-test的其他执行,这也将执行。因此,启用这两个配置文件后,您最终将执行此插件的三次