一种自动化测试持续集成方案

简介: 1. 背景介绍当前项目是Web应用,采用的是前后台分离的设计思想。后台通过RESTful API对外提供服务。因此在测试的时候,也需要同时对前台页面和后台API进行独立测试。

1. 背景介绍

当前项目是Web应用,采用的是前后台分离的设计思想。后台通过RESTful API对外提供服务。因此在测试的时候,也需要同时对前台页面和后台API进行独立测试。考虑到大量的API测试和页面功能测试,因此不可避免地需要进行自动化以加快项目的回归测试时间,减少人的工作量。

2. 测试目的

3. 方案设计

3.1 技术选型

由于我们在Robot Framework (RF)框架上有一些技术积累,因此在自动化框架选型上,我们选择RF作为自动化测试的核心底层框架。持续集成平台我们选择最流行的Jenkins来作为持续集成与调度平台。
同时,我们也选择postman的命令行工具newman, jmeter等作为我们的辅助测试框架,以应对不同的测试需求。我们整体的技术选型如下表所示:

img_7ff6e6b3afe2b5a12ba6867348096c56.png
newman in docker
编号 平台 介绍 备注
1 jenkins 开源的持续集成平台 整个自动化测试平台的核心
2 robot framework 开源的自动化测试框架 测试用例执行的核心
3 Selenium2Library RF框架下的Web测试库 web测试用例依赖库
4 requestsLibrary RF框架下的API测试库 api测试用例依赖库
5 newman postman的命令行工具,用于REST API测试 api测试用例执行工具
6 jemter 通用的接口测试工具 api测试用例执行工具
7 docker 一个开源的应用容器引擎 用于创建测试环境
8 gogs 开源的git web服务器 用于管理自动化测试用例

3.2 测试平台设计

这里,我们通过docker容器技术,封装了相关的测试环境,使得测试环境随用随起,用完即销毁,不污染我们测试机本身的系统环境。同时,也不需要我们在测试机上安装不同的测试工具了,通过docker,我们可以同时在测试机上启动多个容器来运行不同的测试任务。


img_76ece134cbb9ce7dda33775ca38d9e95.png
AutoTest Platform

这里是相关的测试环境docker镜像地址。大家可以自己pull下来运行。

镜像地址 介绍 备注
wywincl/docker-jmeter jmeter镜像,提供jemter执行环境
wywincl/robotframework Robot Framework镜像,提供RF执行环境, 支持Web与API测试,内置了Selenium2Library和RequestsLibrary库
postman/newman_ubuntu1404 newman镜像,提供了newman执行环境

样例1, 运行一个robotframework容器。

docker run -it --rm -v /path/robot-content:/etc/robot wywincl/robotframework [options] data_sources

样例2, 运行一个newman容器。

docker run -v ${WORKSPACE}:/etc/newman postman/newman_ubuntu1404 run "testcases/smoke_test/restapi_smoke_test/AMS_RESTful_API_SMOKE_TEST.json" -r "cli,junit" --reporter-junit-export

详细的使用介绍,请大家参考相关工具的使用指南。

目录
相关文章
|
3月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
332 0
|
4月前
|
人工智能 自然语言处理 算法
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
279 0
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
|
3月前
|
存储 Kubernetes 监控
Docker与Kubernetes集成挑战及方案
面对这些挑战,并不存在一键解决方案。如同搭建灌溉系统需要考虑多种因素,集成Docker与Kubernetes也需要深思熟虑的规划、相当的技术知识和不断的调试。只有这样,才能建立起一个稳定、健康、高效的Docker-Kubernetes生态,让你的应用像花园中的植物一样繁荣生长。
185 63
|
7月前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
3月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
101 1
|
8月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
3月前
|
自然语言处理 算法 数据可视化
文本聚类效果差?5种主流算法性能测试帮你找到最佳方案
本文探讨了自然语言处理中句子嵌入的聚类技术,使用Billingsmoore数据集(925个英语句子)进行实验。通过生成句子嵌入向量并可视化分析,对比了K-Means、DBSCAN、HDBSCAN、凝聚型层次聚类和谱聚类等算法的表现。结果表明,K-Means适合已知聚类数量的场景,DBSCAN和HDBSCAN适用于未知聚类数量且存在异常值的情况,而谱聚类在句子嵌入领域表现不佳。最终建议根据数据特征和计算资源选择合适的算法以实现高质量聚类。
128 0
文本聚类效果差?5种主流算法性能测试帮你找到最佳方案
|
7月前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141413 29
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
6月前
|
人工智能 BI API
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增用户额度、密钥管理、Web 登录鉴权等功能,优化权限管理,适合企业场景使用。
873 3
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
|
6月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。

热门文章

最新文章