Jakarta ee 如何使用maven运行selenium测试?

Jakarta ee 如何使用maven运行selenium测试?,jakarta-ee,tomcat,maven,automated-tests,integration-testing,Jakarta Ee,Tomcat,Maven,Automated Tests,Integration Testing,我想在构建过程中使用maven运行selenium测试,因此我的配置如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> </plugin>

我想在构建过程中使用maven运行selenium测试,因此我的配置如下:

    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <version>2.1.1</version>
    </plugin>

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
    </plugin>



    <plugin>

        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <version>1.1.4</version>
        <configuration>

            <wait>false</wait> 
            <container>
             <containerId>tomcat7x</containerId>
             <home>${env.CATALINA_HOME}</home>  
             <timeout>300000</timeout> <!-- 5 minutes -->                   
            </container>

            <configuration>
             <type>standalone</type>
             <home>target/tomcat7x</home>  
            </configuration>

            <properties>
              <cargo.jvmargs>-XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled</cargo.jvmargs>
            </properties>

        </configuration>
            <executions>
                <execution>
                <id>start-container</id>
                <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start</goal>
                        <goal>deploy</goal>
                    </goals>
                </execution>
                <execution>
                <id>stop-container</id>
                <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
    </plugin> 



    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>selenium-maven-plugin</artifactId>
          <executions>
                <execution>
                <id>start</id>
                <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start-server</goal>
                    </goals>
                <configuration>
                    <background>true</background>
                    <logOutput>true</logOutput>
                </configuration>
            </execution>

            <execution>
            <id>stop</id>
            <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop-server</goal>
                    </goals>
            </execution> 
        </executions>
  </plugin>

    <plugin>

            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.8</version>

            <configuration>
                <junitArtifactName>
                org.junit:com.springsource.org.junit
                </junitArtifactName>
                <excludes>

                    <exclude>**/unit/*Test.java</exclude>
                </excludes>
            </configuration>


            <executions>
                <execution>

                <id>integration-tests</id>
                <phase>integration-test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                <configuration>
                <skip>false</skip>
                <excludes>
                    <exclude>none</exclude>
                </excludes>

                <includes>
                   <include>**/integration/*Test.java</include>
                </includes>
                </configuration>
                </execution>
        </executions>

        </plugin>

尝试在运行MAVEN构建的环境变量中设置
MAVEN\u OPTS=-XX:MaxPermSize=384m
(或一些合适的数字)。

  • 我现在使用下面的配置文件,它工作正常,我使用

     mvn install -Pit
    
配置文件

<profile>
          <id>it</id>
          <build>
           <plugins>

           <plugin>

            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.1.4</version>
            <configuration>

                <wait>false</wait> 
                <container>
                 <containerId>tomcat7x</containerId>
                 <home>${env.CATALINA_HOME}</home>  
                 <timeout>300000</timeout>                  
                </container>

                <configuration>
                 <type>standalone</type>
                 <home>target/tomcat7x</home> 
                 <properties>
                  <cargo.jvmargs>-XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled</cargo.jvmargs>
                </properties> 
                </configuration>


            </configuration>
                <executions>
                    <execution>
                    <id>start-container</id>
                    <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                            <goal>deploy</goal>
                        </goals>

                        <configuration>
                            <deployer>
                                <deployables>
                                    <deployable>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>${project.artifactId}</artifactId>
                                    <type>war</type>
                                    <pingURL>http://localhost:8080/${project.artifactId}</pingURL>
                                    <pingTimeout>60000</pingTimeout>
                                    <properties>
                                        <context>${project.artifactId}</context>
                                    </properties>
                                    </deployable>
                                </deployables>
                            </deployer>
                        </configuration>

                    </execution>
                    <execution>
                    <id>stop-container</id>
                    <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
          </plugin>


        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
              <executions>
                    <execution>
                    <id>start</id>
                    <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start-server</goal>
                        </goals>
                    <configuration>
                        <background>true</background>
                        <logOutput>true</logOutput>
                    </configuration>
                </execution>

                <execution>
                <id>stop</id>
                <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop-server</goal>
                        </goals>
                </execution> 
            </executions>
    </plugin>


             <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <executions>

                        <execution>
                            <id>default-test</id>                                
                            <configuration>
                                <skipTests>true</skipTests>
                            </configuration>
                        </execution>

                        <execution>
                            <id>surefire-it</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <includes>
                                    <include>**/integration/*Test.java</include>
                                </includes>
                                <skipTests>false</skipTests>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <argLine>-Xms256M -Xmx768M -XX:MaxPermSize=256M</argLine>
                    </configuration>
                </plugin>

              </plugins>
            </build>

            <activation>
              <property>
                <name>it</name>
              </property>
            </activation>

        </profile>

信息技术
org.codehaus.cargo
cargo-maven2-plugin
1.1.4
假的
tomcat7x
${env.CATALINA_HOME}
300000
独立的
目标/tomcat7x
-XX:PermSize=256m-XX:MaxPermSize=512m-XX:+UseConMarkSweepGC-XX:+CMSClassUnloadingEnabled
启动容器
预集成测试
开始
部署
${project.groupId}
${project.artifactId}
战争
http://localhost:8080/${project.artifactId}
60000
${project.artifactId}
停止容器
整合后测试
停止
org.codehaus.mojo
selenium maven插件
开始
预集成测试
启动服务器
真的
真的
停止
整合后测试
停止服务器
maven surefire插件
默认测试
真的
当然可以
集成测试
测试
**/integration/*Test.java
假的
-Xms256M-Xmx768M-XX:MaxPermSize=256M
信息技术

MAVEN_OPTS=-Xmx512m-Xms256m-XX:MaxPermSize=1024m我已经有了
MAVEN_OPTS=-Xmx512m-Xms256m-XX:MaxPermSize=1024m
?您可以发布输出的摘录吗?请尝试使用jconsole检查tomcat实例是否实际接收到PermGen覆盖
<profile>
          <id>it</id>
          <build>
           <plugins>

           <plugin>

            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.1.4</version>
            <configuration>

                <wait>false</wait> 
                <container>
                 <containerId>tomcat7x</containerId>
                 <home>${env.CATALINA_HOME}</home>  
                 <timeout>300000</timeout>                  
                </container>

                <configuration>
                 <type>standalone</type>
                 <home>target/tomcat7x</home> 
                 <properties>
                  <cargo.jvmargs>-XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled</cargo.jvmargs>
                </properties> 
                </configuration>


            </configuration>
                <executions>
                    <execution>
                    <id>start-container</id>
                    <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                            <goal>deploy</goal>
                        </goals>

                        <configuration>
                            <deployer>
                                <deployables>
                                    <deployable>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>${project.artifactId}</artifactId>
                                    <type>war</type>
                                    <pingURL>http://localhost:8080/${project.artifactId}</pingURL>
                                    <pingTimeout>60000</pingTimeout>
                                    <properties>
                                        <context>${project.artifactId}</context>
                                    </properties>
                                    </deployable>
                                </deployables>
                            </deployer>
                        </configuration>

                    </execution>
                    <execution>
                    <id>stop-container</id>
                    <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
          </plugin>


        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
              <executions>
                    <execution>
                    <id>start</id>
                    <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start-server</goal>
                        </goals>
                    <configuration>
                        <background>true</background>
                        <logOutput>true</logOutput>
                    </configuration>
                </execution>

                <execution>
                <id>stop</id>
                <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop-server</goal>
                        </goals>
                </execution> 
            </executions>
    </plugin>


             <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <executions>

                        <execution>
                            <id>default-test</id>                                
                            <configuration>
                                <skipTests>true</skipTests>
                            </configuration>
                        </execution>

                        <execution>
                            <id>surefire-it</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <includes>
                                    <include>**/integration/*Test.java</include>
                                </includes>
                                <skipTests>false</skipTests>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <argLine>-Xms256M -Xmx768M -XX:MaxPermSize=256M</argLine>
                    </configuration>
                </plugin>

              </plugins>
            </build>

            <activation>
              <property>
                <name>it</name>
              </property>
            </activation>

        </profile>