利用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 Java 持续交付
运用Jenkins实现Java项目的持续集成与自动化部署
在新建的Jenkins Job中,我们需要配置源码管理,通常选择Git、SVN等版本控制系统,并填入仓库地址和凭据。接着,设置构建触发器,如定时构建、轮询SCM变更、GitHub Webhook等方式,以便在代码提交后自动触发构建过程。
25 2
|
6天前
|
Java 测试技术 持续交付
自动化测试实践:从单元测试到集成测试
【6月更文挑战第28天】-单元测试:聚焦代码最小单元,确保每个函数或模块按预期工作。使用测试框架(如JUnit, unittest),编写覆盖所有功能和边界的测试用例,持续集成确保每次变更后自动测试。 - 集成测试:关注模块间交互,检查协同工作。选择集成策略,编写集成测试用例,模拟真实环境执行测试,整合到CI/CD流程以持续验证软件稳定性。 自动化测试提升软件质量,降低成本,加速开发周期,是现代软件开发不可或缺的部分。
|
5天前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
10 0
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
|
3天前
|
机器学习/深度学习 人工智能 Java
Java与AI集成开发:机器学习模型部署
Java与AI集成开发:机器学习模型部署
|
3天前
|
Java 测试技术 数据库
Java单元测试与集成测试的最佳实践
Java单元测试与集成测试的最佳实践
|
1天前
|
机器学习/深度学习 Java TensorFlow
Java与机器学习模型的集成与部署
Java与机器学习模型的集成与部署
|
1天前
|
敏捷开发 jenkins 测试技术
软件测试中的敏捷实践:持续集成与自动化测试的融合
在软件开发领域,敏捷方法论的兴起带来了开发流程的重大变革。特别是持续集成(CI)和自动化测试的结合使用,为提升软件质量和开发效率提供了强有力的支持。本文将探讨持续集成环境下自动化测试的实施策略、优势以及面临的挑战,并借助实证数据和案例分析,揭示这一组合如何促进敏捷团队高效地应对快速变化的需求与代码库。
7 0
|
1天前
Vite 项目中如何去集成 Mock 环境 (插件:vite-plugin-mock)
Vite 项目中如何去集成 Mock 环境 (插件:vite-plugin-mock)
7 0
|
2天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
15 0
|
6天前
|
敏捷开发 jenkins 测试技术
软件测试中的自动化与持续集成:提高开发效率和产品质量
在软件开发的生命周期中,测试阶段扮演着至关重要的角色。随着敏捷开发模式的普及,自动化测试和持续集成(CI)已成为确保软件质量和加快交付速度的关键策略。本文深入探讨了自动化测试和持续集成的概念、实施步骤及其对软件开发流程的影响。通过引用最新的行业研究和案例分析,文章揭示了这些技术如何帮助团队减少人为错误,缩短反馈循环,并最终提升产品的稳定性和用户体验。