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

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中加入代码如下:

Xml代码  

  1. <profiles>   
  2.         <profile>   
  3.             <id>ittest</id>   
  4.             <build>   
  5.                 <plugins>   
  6.                     <plugin>   
  7.                         <groupId>org.apache.maven.plugins</groupId>   
  8.                         <artifactId>maven-surefire-plugin</artifactId>   
  9.                         <executions>   
  10.                             <execution>   
  11.                                 <id>run-integration-test</id>   
  12.                                 <phase>integration-test</phase>   
  13.                                 <goals>   
  14.                                     <goal>test</goal>   
  15.                                 </goals>   
  16.                                 <configuration>   
  17.                                     <includes>   
  18.                                         <include>**/*IT.java</include>   
  19.                                     </includes>   
  20.                                 </configuration>   
  21.                             </execution>   
  22.                         </executions>   
  23.                     </plugin>   
  24.                     <plugin>   
  25.                         <groupId>org.mortbay.jetty</groupId>   
  26.                         <artifactId>maven-jetty-plugin</artifactId>   
  27.                         <version>6.1.26</version>   
  28.                         <configuration>   
  29.                             <contextPath>/</contextPath>   
  30.                             <stopPort>9966</stopPort>   
  31.                             <stopKey>stop-jetty-for-it</stopKey>   
  32.                             <connectors>   
  33.                                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">   
  34.                                     <port>6211</port>   
  35.                                 </connector>   
  36.                             </connectors>   
  37.                         </configuration>   
  38.   
  39.                         <executions>   
  40.                             <execution>   
  41.                                 <id>start-it-jetty</id>   
  42.                                 <phase>pre-integration-test</phase>   
  43.                                 <goals>   
  44.                                     <goal>run</goal>   
  45.                                 </goals>   
  46.                                 <configuration>   
  47.                                     <daemon>true</daemon>   
  48.                                 </configuration>   
  49.                             </execution>   
  50.                             <execution>   
  51.                                 <id>stop-it-jetty</id>   
  52.                                 <phase>post-integration-test</phase>   
  53.                                 <goals>   
  54.                                     <goal>stop</goal>   
  55.                                 </goals>   
  56.                             </execution>   
  57.                         </executions>   
  58.                     </plugin>   
  59.                 </plugins>   
  60.             </build>   
  61.         </profile>   
  62.     </profiles>  

 然后就可以编写测试用例了

 

 步骤如下:

1,定义一个以此命名的****IT的测试类(integration test缩写), 在里面华丽的写好你的测试逻辑。

再此不举例了,主要一个思路可以用httpclint来实现里面的测试代码。 

2,然后 执行 mvn clean post-integration-test -Pittest

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

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

转载地址:http://itindex.net/detail/37186-maven-%E8%87%AA%E5%8A%A8%E5%8C%96-web

时间: 2024-11-08 21:52:54

【转】maven 自动化web应用集成测试的相关文章

使用Rational Functional Tester V8.1来自动化Web应用程序的集成测试

节省时间并得到更多可靠的结果 简介:手工测试 Web 应用程序是一个错误倾向的任务.自动化测试将测试人员从输入测试数据和生成 结果中解放出来.本文描述了怎样使用 IBM Rational Functional Tester V8.1 来自动化 Web 应用程序的集成测试操作. 自动化集成测试的利益 在软件开发生命周期的集成测试期 间,单个软件构件会得到合并,并作为一个组进行测试.在一个 Java Enterprise Edition(JEE )Web 应用程序中,软件构件通常是 HTML 或者

maven的web项目发布(tomcat eclipse spring)

讨论一下项目发布的问题,因为我过去从没有认真发布过项目.做过php的项目,在server上直接用php版本的eclipse进行开发,php的环境是早就配置好的,mysql也是事先安装好,在开发调试的过程中,都是直接使用server上的php+mysql+apache的环境,不存在项目发布的问题:开发好也就相当于部署好了. 但是,眼前这个项目不一样:1.开发环境是虚拟机.生产环境是一台专门的server2.开发环境和运行环境都是java语言环境下,eclipse开发的maven项目,运行在tomc

Maven发布web项目到tomcat

在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大量的精力.然而,开源世界并没有让java开发人员在这方面耗费过多的精力. Apache提供了Maven工具,对项目进行自动化的构建和发布.只需要在Maven的pom.xml文件中加入相应的配置项,剩余的工作交给maven就可以了.然而去喝杯茶做个安安静静的美男子.然而除了Maven外还有Gradle

真心求教关于自动化Web请求的开发问题,类似于开发一个12306桌面抢票软件,具体请进呢

问题描述 真心求教关于自动化Web请求的开发问题,类似于开发一个12306桌面抢票软件,具体请进呢 Web开发确实是博大精深,因为目前个人是开发手游,因为某些原因需要暂时做这么一个东西,但时间的问题不太允许我深入的研究Web开发,所以特来求教各位大神,我需要做的这个东西和之前一直流传的12306桌面抢票软件很像.就是根据某些网站写一个外挂软件,让一些需要手动完成的操作,代码来自动完成. 刚开始我以为Web请求一般都用一个拼接好的url直接访问,然后获得一些数据,接着再处理这些数据就好了.但事实证

maven 多 web 工程 怎么自动合并到 一个 主web 工程 且修改文件 自动更新修改

问题描述 maven 多 web 工程 怎么自动合并到 一个 主web 工程 且修改文件 自动更新修改 如题所属: maven 多 web 工程 怎么自动合并到 一个 主web 工程 且修改文件 自动更新修改,等于在一个web project 部署多个web 开发

idea+maven导入web项目后,tomcat无报错,无日志输出,启动失败,求大神!

问题描述 idea+maven导入web项目后,tomcat无报错,无日志输出,启动失败,求大神! 模块之间的依赖关系可以从这个pom中看出来 把这三个子模块的编译结果都输出到platform的webappWEB-INFclasses,所依赖的jar包通过Maven也输出到webappWEB-INFlib, 然后tomcate 这样配置的 然后启动tomcate 无报错 无log 直接停止,真的太诡异了! 大神们,帮帮忙!太感谢了!!! 解决方案 用IDEA启动非maven管理的web项目 解决

maven 构建web项目时war名称由什么决定

使用maven 构建web项目时,war包的名称由什么决定呢? 默认的war名称是构件ID加上版本号,例如: shop_goods-0.0.1-SNAPSHOT.war或exam4-0.0.1-SNAPSHOT.war  有哪些方式可以指定war包的名称呢? 方式一: 使用插件maven-war-plugin,pom配置如下:  Xml代码   <plugin>                   <groupId>org.apache.maven.plugins</grou

利用Burp“宏”解决自动化 web fuzzer的登录问题

本文讲的是利用Burp"宏"解决自动化 web fuzzer的登录问题,本博文的主要内容是关于如何利用Burp Suite宏,帮助我们自动化完成需要手动输入payload的模糊测试工作.尽管许多安全测试人员可能会知道,这篇文章只是为那些尚未利用Burp宏的自动化功能的人所写的. 在我的渗透测试职业生涯中,在Web应用程序中执行参数和页面表单字段的模糊测试处理时,我遇到了一些与会话处理有关的挑战和困难. 在多种情况中,当你进行安全模糊测试时,web应用程序终止会话的行为,可能是因为一些安

maven新建web项目报错Failure to transfer org.codehaus.plexus:plexus:pom:2.0.5

问题描述 maven新建web项目报错Failure to transfer org.codehaus.plexus:plexus:pom:2.0.5 Failure to transfer org.codehaus.plexus:plexus:pom:2.0.5 from http://repo.maven.apache.org/ maven2 was cached in the local repository, resolution will not be reattempted unti