利用gogs+jenkins+robotframework搭建持续集成测试部署环境[一]

简介: 1. 介绍篇这里提出了一种基于Robot Framework自动化测试框架的最佳实践模式,利用gogs对Robot Framework的自动化测试用例进行版本管理,利用jenkins的robot插件实现对Robot Framework执行结果的收集分析,从而达到一种持续集成部署测试的环境。

1. 介绍篇

这里提出了一种基于Robot Framework自动化测试框架的最佳实践模式,利用gogs对Robot Framework的自动化测试用例进行版本管理,利用jenkins的robot插件实现对Robot Framework执行结果的收集分析,从而达到一种持续集成部署测试的环境。
在jenkins上设计测试任务,一旦有测试需求到来,jenkins会自动从gogs服务器上下载稳定的Robot Framework自动化测试用例工程到测试机器上,并执行相关的测试用例,收集结果。流程图如下:


img_8e38c3c6a585c4fb26387b620abd0d48.png
gogs+jenkins流程图
软件 功能 备注
gogs git web服务器 用于存放自动化测试用例
jenkins 持续集成服务器 用于自动化测试
robot framework 关键字驱动的自动测试框架 用于编写可维护的高级测试用例

2. 安装篇

2.1 安装 gogs

介绍

Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务。之所以选择gogs是因为它的安装非常简单,可以方便地搭建本地的git web服务,类似于github 和 gitlab,非常适合对繁琐配置不适应的人群,以及无法上外部网的一些部门,再就是它是为数不多的国人开发的优质开源项目,在github上拥有13243个star, 是github中go语言项目排行榜第一名。 【ps: 难得,】

安装

官网地址:https://gogs.io

img_2c9f40b1e258e9c6f799d40fd534e1a3.png
gogs

我们直接下载对应系统的二进制文件即可,gogs支持很多平台,且对硬件要求低。按照官网的说明,我们能够在几分钟之内完成配置。
详细的安装步骤见地址:https://gogs.io/docs,这里就不多赘述了。

[注意]:需要预先安装好git环境。这里假设读者已经熟悉了git开发的相关基础知识。

2.2 安装Robot Framework测试框架

介绍

Robot Framework 是一个关键词驱动的自动测试框架。测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序。因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等。
官网地址:http://www.robotframework.org

img_b64abb3de68af0c2ebc592354a359c6b.png
robotframework

安装

推荐使用virtualenv+pip方式进行安装,这样不会污染本地python环境。

创建虚拟python环境

sudo apt-get install python-virtualenv
virtualenv ENV
cd ENV
source ./bin/activate

进入虚拟python环境

pip install robotframework

如果需要安装selenium2library

pip install robotframework-selenium2library

如果需要退出虚拟python环境

deactivate

安装完成后,查看版本信息,验证是否安装成功。

>robot --version
>Robot Framework 2.9.dev20150202 (Python 2.7.6 on darwin)

2.3 安装Jenkins

介绍

Jenkins是目前一款非常流行的持续集成软件,相信大家都很熟悉了。这里就不过多介绍。
官网地址:https://jenkins.io/index.html

img_c297da5107ccda56cc594e8434515548.png
Jenkins

安装

我们直接下载war格式的jenkins包就可以了。
启动jenkins服务。

> java -jar jenkins.war

为了后面集成robot插件,能够正确显示report.html和log.html我们需要对相关的JS执行模式做出设置,如下所示

>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war

上面我们就简单介绍了相关软件的安装,具体细节,还需要读者自己去官网的文档中去阅读。下一章介绍如何部署。

3. 部署篇

3.1 Jenkins中配置Robot Framework

在前面一个章节,我们介绍了三款软件的安装使用。
为了使Jenkins能够分析Robot Framework自动化测试产生的结果,我们需要安装jenkins的robot-plugin插件。
插件安装好以后,我们需要进行配置:
在Job配置界面上,添加构建后操作:

img_18c3e2cf83a4ca8039736e37a3175f64.jpe
Publish Robot Framework Results

配置好以后,我们就可以查看Robot Framework的测试结果了。

img_1376661f3405c1cfa338ac28d0f5d98f.png
Robot Stats
img_80dc75bc202ca8cf290ce4a7258087ae.png
Robot Results Details
目录
相关文章
|
4天前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
15 1
|
18天前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
39 3
|
5天前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
20 4
|
7天前
|
监控 jenkins 测试技术
探索软件测试的新篇章:自动化与持续集成
【10月更文挑战第25天】在数字化时代的浪潮中,软件已成为驱动世界的核心力量。然而,随着软件复杂性的增加,传统的测试方法已无法满足快速迭代和高质量交付的需求。本文将探讨如何通过自动化测试和持续集成(CI)来提升软件开发的效率和质量,同时确保产品的稳定性和可靠性。我们将从自动化测试的基础出发,逐步深入到持续集成的实践,并展示如何通过实际案例实现这一转变。
|
7天前
|
jenkins 测试技术 持续交付
探索软件测试中的自动化与持续集成
【10月更文挑战第25天】在软件开发的海洋中,自动化测试和持续集成(CI)是引领航船穿越波涛的灯塔。本文将带你了解如何通过搭建自动化测试框架和实施持续集成策略来提高软件质量和开发效率。我们将以一个实际的代码示例为起点,逐步深入讲解如何整合自动化测试到你的CI/CD流程中。
|
6天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
7天前
|
jenkins 测试技术 持续交付
探索软件测试的新篇章:自动化与持续集成的融合
【10月更文挑战第25天】在软件开发的世界里,质量是王道。本文将带你领略如何通过自动化测试和持续集成(CI)的结合,提升软件交付的速度与质量,确保每一次代码提交都是一次胜利的宣言。
|
7天前
|
缓存 自然语言处理 并行计算
基于NVIDIA A30 加速卡推理部署通义千问-72B-Chat测试过程
本文介绍了基于阿里云通义千问72B大模型(Qwen-72B-Chat)的性能基准测试,包括测试环境准备、模型部署、API测试等内容。测试环境配置为32核128G内存的ECS云主机,配备8块NVIDIA A30 GPU加速卡。软件环境包括Ubuntu 22.04、CUDA 12.4.0、PyTorch 2.4.0等。详细介绍了模型下载、部署命令及常见问题解决方法,并展示了API测试结果和性能分析。
51 1
|
10天前
|
Kubernetes 测试技术 持续交付
C# 一分钟浅谈:集成测试与系统测试
【10月更文挑战第19天】本文详细介绍了集成测试和系统测试的概念、目的及其在软件开发中的重要性。通过分析常见问题和易错点,结合代码示例,探讨了如何通过代码规范、自动化测试和持续集成等方法提高测试效果,确保软件质量和可靠性。
27 1
|
22天前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
174 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)