【转】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应用测试自动化了。
相关文章
|
29天前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
60 10
|
11天前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible实战应用
【9月更文挑战第24天】在现代IT基础设施的快速迭代与扩展中,自动化运维成为提升效率、保障稳定性的关键。本文将深入探讨Ansible这一流行的自动化工具,通过实际案例分析其如何简化日常运维任务,优化工作流程,并提高系统的可靠性和安全性。我们将从Ansible的基础概念入手,逐步深入到高级应用技巧,旨在为读者提供一套完整的Ansible应用解决方案。
|
17天前
|
SQL 缓存 搜索推荐
后端技术在现代Web开发中的应用与挑战
本文将深入探讨后端技术在现代Web开发中的重要性,涵盖从基础架构到性能优化的多个方面。通过分析当前主流后端技术的优缺点,并提供一些实用的解决方案和建议,帮助开发者更好地应对日常开发中的挑战。
33 1
|
16天前
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
193 80
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
2天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible实战应用
【9月更文挑战第33天】本文将带你深入理解Ansible,一个强大的自动化运维工具。我们将从基础概念开始,逐步探索其配置管理、任务调度等功能,并通过实际案例演示其在自动化部署和批量操作中的应用。文章旨在通过浅显易懂的语言和实例,为读者揭开Ansible的神秘面纱,展示其在简化运维工作中的强大能力。
94 64
|
19天前
|
敏捷开发 IDE 测试技术
自动化测试框架的选择与应用
【9月更文挑战第16天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的流行,自动化测试成为提升软件质量和效率的关键手段。本文将探讨如何根据项目需求选择合适的自动化测试框架,并通过实际案例分析展示其在软件开发过程中的应用。我们将从单元测试、集成测试到端到端测试等多个层面,讨论自动化测试的最佳实践和常见问题解决策略。
|
7天前
|
Web App开发 JavaScript 前端开发
构建高效Web应用:Node.js与Express框架的深度整合
【9月更文挑战第28天】在现代Web开发领域,Node.js和Express框架的结合已成为打造高性能、易扩展应用的黄金组合。本文将深入探讨如何利用这一技术栈优化Web应用架构,提供具体实践指导,并分析其性能提升的内在机制。通过代码示例,我们将展示从基础搭建到高级功能的实现过程,旨在为开发者提供一条清晰的学习路径,以实现技术升级和项目效率的双重提升。
20 3
|
8天前
|
敏捷开发 Java 测试技术
自动化测试框架的选择与应用
【9月更文挑战第26天】在软件开发的海洋里,自动化测试是那一盏指路明灯。它不仅加快了开发周期,还提升了软件质量。本文将带你探索自动化测试框架的世界,了解它们的核心特性、适用场景及如何根据项目需求做出明智选择。让我们一起启航,找到那把打开高效、稳定软件生产大门的钥匙。
ly~
|
9天前
|
存储 监控 小程序
除了 Web 开发,PHP 还可以应用于哪些领域?
PHP 在 Web 开发之外还有多个应用场景:1)命令行脚本,如批量处理文件、数据库管理及系统监控;2)利用 PHP-GTK 等工具开发桌面应用,满足特定业务需求;3)结合微信云开发功能支持微信小程序后端,处理数据存储与用户认证;4)为小型游戏或特定类型游戏开发游戏服务器逻辑;5)在物联网领域作为后端语言处理设备数据交互与分析。
ly~
25 4
|
9天前
|
JavaScript 前端开发 UED
WebSocket在Python Web开发中的革新应用:解锁实时通信的新可能
在快速发展的Web应用领域中,实时通信已成为许多现代应用不可或缺的功能。传统的HTTP请求/响应模式在处理实时数据时显得力不从心,而WebSocket技术的出现,为Python Web开发带来了革命性的变化,它允许服务器与客户端之间建立持久的连接,从而实现了数据的即时传输与交换。本文将通过问题解答的形式,深入探讨WebSocket在Python Web开发中的革新应用及其实现方法。
23 3
下一篇
无影云桌面