欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【转】maven 自动化web应用集成测试

程序员文章站 2022-04-06 23:48:31
...

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

好了 就可以看到我们测试用例是否通过。

建议:以上的代码可以加入到父类的pom中,以后继承此父pom后,只需要按以上2步,就可以做到web应用测试自动化了。