gpt4 book ai didi

jakarta-ee - 如何使用 Maven 运行 selenium 测试?

转载 作者:行者123 更新时间:2023-11-28 21:51:12 25 4
gpt4 key购买 nike

我想在构建过程中使用 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>

发生的事情如下:

  1. war 文件已创建。
  2. 集成测试类运行(打开浏览器,然后关闭浏览器)。
  3. tomcat 服务器启动并部署应用程序。
  4. 问题:部署后我得到了 java.lang.OutOfMemoryError: PermGen space 虽然我在 catalina.bat 和 cargo 配置中增加了内存,但我可以看到war 部署在 cargo 输出文件夹中,所以我想知道为什么会出现此异常?

更新:日志

[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.catalina.startup.SetAllPropertiesRule begin
[WARNING] [talledLocalContainer] WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'emptySessionPath' to 'true' did not find a matching property.
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
[WARNING] [talledLocalContainer] WARNING: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'xmlValidation' to 'false' did not find a matching property.
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
[WARNING] [talledLocalContainer] WARNING: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'xmlNamespaceAware' to 'false' did not find a matching property
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.coyote.AbstractProtocol init
[WARNING] [talledLocalContainer] INFO: Initializing ProtocolHandler ["http-bio-8080"]
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.coyote.AbstractProtocol init
[WARNING] [talledLocalContainer] INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.catalina.startup.Catalina load
[WARNING] [talledLocalContainer] INFO: Initialization processed in 600 ms
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.catalina.core.StandardService startInternal
[WARNING] [talledLocalContainer] INFO: Starting service Catalina
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.catalina.core.StandardEngine startInternal
[WARNING] [talledLocalContainer] INFO: Starting Servlet Engine: Apache Tomcat/7.0.22
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:51 PM org.apache.catalina.startup.HostConfig deployWAR
[WARNING] [talledLocalContainer] INFO: Deploying web application archive cargocpc.war
[WARNING] [talledLocalContainer] Jan 16, 2012 1:36:52 PM org.apache.catalina.startup.HostConfig deployWAR
[WARNING] [talledLocalContainer] INFO: Deploying web application archive MyAPP.war
[WARNING] [talledLocalContainer] java.lang.OutOfMemoryError: PermGen space
[WARNING] [talledLocalContainer] Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
[WARNING] [talledLocalContainer] at java.lang.Throwable.getStackTraceElement(Native Method)
[WARNING] [talledLocalContainer] at java.lang.Throwable.getOurStackTrace(Throwable.java:591)
[WARNING] [talledLocalContainer] at java.lang.Throwable.printStackTrace(Throwable.java:462)
[WARNING] [talledLocalContainer] at java.lang.Throwable.printStackTrace(Throwable.java:451)
[WARNING] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:469)

最佳答案

  • 我现在正在使用以下配置文件,它工作正常,我运行集成测试

     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>

关于jakarta-ee - 如何使用 Maven 运行 selenium 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8879358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com