2011-02-03 34 views
5

Otomasyon için maven kargo ve selenyum kullanıyorum. Burada kodu:maven kargo ve selenyum

<plugin> 
      <groupId>org.codehaus.cargo</groupId> 
      <artifactId>cargo-maven2-plugin</artifactId> 
      <version>1.0.5</version> 
      <configuration> 
       <wait>false</wait> 
       <container> 
        <containerId>tomcat6x</containerId> 
        <zipUrlInstaller> 
         <url> 
          http://mirrors.enquira.co.uk/apache/tomcat/tomcat-6/v6.0.30/bin/apache-tomcat-6.0.30.zip 
         </url> 
         <installDir>${installDir}</installDir> 
        </zipUrlInstaller> 
        <output> 
         ${project.build.directory}/tomcat6x.log 
        </output> 
        <log>${project.build.directory}/cargo.log</log> 
       </container> 
       <configuration> 
        <home> 
         ${project.build.directory}/tomcat6x/container 
        </home> 
        <properties> 
         <cargo.logging>high</cargo.logging> 
         <cargo.servlet.port>8081</cargo.servlet.port> 
        </properties> 
        <files> 
         <copy> 
          <file>${project.basedir}/src/main/resources/datasource.properties</file> 
          <todir>webapps</todir> 
          <configfile>true</configfile> 
          <overwrite>true</overwrite> 
         </copy> 
        </files> 
        <properties> 
         <customMessage>${catalina.home}</customMessage> 
        </properties> 
       </configuration> 
      </configuration> 
      <executions> 
       <execution> 
        <id>start-container</id> 
        <phase>pre-integration-test</phase> 
        <goals> 
         <goal>configure</goal> 
         <goal>start</goal> 
         <goal>deploy</goal> 
        </goals> 
        <configuration> 
         <deployer> 
          <deployables> 
           <deployable> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>${project.artifactId}</artifactId> 
            <type>war</type> 
            <pingURL>**the url**</pingURL> 
            <pingTimeout>180000</pingTimeout> 
            <properties> 
             <context>**war-name**</context> 
            </properties> 
           </deployable> 
          </deployables> 
         </deployer> 
        </configuration> 
       </execution> 

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

fakat savaş büyüyor başladı pingtimeout dağıtım biraz zaman alır gibi, ben ping zaman aşımını kullanmak istemiyorum, ama şu anda zorlanıyor duyuyorum artmaya başladı ping zaman aşımı belirtilmediyse selenyum beklemez.

Bu sorunun çözümü var mı?

+0

Olabilir http://stackoverflow.com/questions/1498967/help-with-selenium-maven-cargo ilgili olmak? – Raghuram

cevap

1

Jetty'yi kullanma hakkında ne düşünüyorsunuz? Maven-jetty-plugin web sunucunuz yüklenene kadar bekleyecektir. Alternatif olarak, tomcat-maven eklentisini ve dağıtım hedefini kullanarak web sunucunuzu Tomcat Yöneticisi aracılığıyla çalışan bir Tomcat örneğine dağıtmak için kullanabilirsiniz. Bu eklenti, savaş dağıtılana kadar idam edilmek (ve dolayısıyla Selenium testlerinin lansmanı) ile de bekleyecektir.

Bu benim yapılandırmam. Bu, iskelesi başlatmak uygulamayı dağıtmak, selenyum başlatmak, Selenyum testleri başlatmak ve nihayet tüm sunucuları kapanıyor olacaktır:

<plugin> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>maven-jetty-plugin</artifactId> 
     <configuration> 
      <contextPath>/</contextPath> 
      <scanIntervalSeconds>0</scanIntervalSeconds> 
     </configuration> 
     <executions> 
      <execution> 
      <id>start</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      <configuration> 
       <daemon>true</daemon> 
      </configuration> 
      </execution> 
      <execution> 
      <id>stop</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> 
     <configuration> 
      <background>true</background> 
     </configuration> 
     <executions> 
      <execution> 
      <id>start-selenium</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start-server</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>stop-selenium</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> 
     <executions> 
      <execution> 
      <id>selenium-tests</id> 
      <phase>integration-test</phase> 
      <goals> 
       <goal>test</goal> 
      </goals> 
      <configuration> 
       <skip>false</skip> 
       <excludes> 
       <exclude>none</exclude> 
       </excludes> 
       <includes> 
       <include>**/*SeleniumTest.java</include> 
       </includes> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin>