2011-02-03 16 views
5

tôi sử dụng hàng hóa maven và selen để tự động hóa. đây là đoạn code:hàng hóa và selen maven

<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> 

nhưng khi chiến tranh bắt đầu nhận được lớn hơn các pingtimeout bắt đầu tăng lên, tôi không muốn sử dụng thời gian chờ ping, nhưng tôi bị buộc phải vào lúc này, khi triển khai phải mất một chút thời gian và selen không đợi nếu pingtimeout không được đề cập.

có giải pháp nào cho vấn đề này không?

+0

Could http://stackoverflow.com/questions/1498967/help-with-selenium-maven-cargo Có liên quan? – Raghuram

Trả lời

1

Còn việc sử dụng Cầu cảng thì sao? Plugin maven-jetty sẽ đợi cho đến khi webapp của bạn được tải. Ngoài ra, bạn có thể sử dụng plugin tomcat-maven và mục tiêu triển khai của nó để triển khai ứng dụng web của bạn cho một cá thể Tomcat đang chạy thông qua Trình quản lý Tomcat. Plugin này cũng sẽ chờ đợi với việc thực hiện (và do đó khởi chạy các bài kiểm tra Selenium của bạn) cho đến khi chiến tranh được triển khai.

Đây là cấu hình của tôi. Nó sẽ khởi động Jetty, triển khai ứng dụng, khởi động Selenium, khởi động kiểm tra Selenium và cuối cùng là bỏ tất cả các máy chủ:

<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>