【转】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应用测试自动化了。
相关文章
|
24天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
23天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
1月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
49 3
|
13天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
21 5
|
15天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
23天前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
26天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
26天前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色?
自动化和持续集成在软件开发中各自扮演什么角色?
|
26天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
|
26天前
|
敏捷开发 Devops 测试技术
自动化测试中的持续集成与持续部署
在现代软件开发实践中,自动化测试是确保软件质量和快速迭代的关键。本文将探讨自动化测试如何与持续集成(CI)和持续部署(CD)流程相结合,以提高开发效率和软件质量。我们将分析CI/CD管道中自动化测试的最佳实践,以及如何克服实施过程中的挑战。
37 6