web应用集成测试的时候,各位还需要启动web容器,然后打开浏览器,输入ulr,然后看到浏览器的输出吗?
下面我们用maven做到自动化!
我们利用maven的生命周期和jetty插件来实现。
下面描述下做的自动化web集成测试实现的原理。
1,在生命周期pre-integration-test启动jetty容器
2,在生命周期integration-test中测试我们写的***IT.Java类
3,在post-integration-test shutdow jetty容器。
在pom.xml中加入代码如下:
- <profiles>
- <profile>
- <id>ittest</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <execution>
- <id>run-integration-test</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <includes>
- <include>**/*IT.java</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- <configuration>
- <contextPath>/</contextPath>
- <stopPort>9966</stopPort>
- <stopKey>stop-jetty-for-it</stopKey>
- <connectors>
- <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
- <port>6211</port>
- </connector>
- </connectors>
- </configuration>
- <executions>
- <execution>
- <id>start-it-jetty</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <daemon>true</daemon>
- </configuration>
- </execution>
- <execution>
- <id>stop-it-jetty</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>stop</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
然后就可以编写测试用例了
步骤如下:
1,定义一个以此命名的****IT的测试类(integration test缩写), 在里面华丽的写好你的测试逻辑。
再此不举例了,主要一个思路可以用httpclint来实现里面的测试代码。
2,然后 执行 mvn clean post-integration-test -Pittest
好了 就可以看到我们测试用例是否通过。