利用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
目录
相关文章
|
1月前
|
敏捷开发 测试技术 持续交付
探索软件测试中的自动化与持续集成
在快速迭代的软件开发环境中,自动化测试和持续集成(CI)已成为确保产品质量和加速交付的关键策略。本文将深入探讨自动化测试的基本原理、实施步骤以及它如何与持续集成流程相结合,以提高软件开发的效率和可靠性。我们将通过实际案例分析,展示自动化测试和CI的最佳实践,以及它们如何帮助企业实现更快的市场响应时间和更高的客户满意度。
60 16
|
1月前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
5天前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
40 17
|
22天前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
31 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
12天前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
53 12
|
18天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
43 3
|
1月前
|
jenkins 测试技术 持续交付
探索自动化测试在持续集成中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是持续集成(CI)环境中的关键作用。通过分析自动化测试的优势、实施策略以及面临的主要挑战,旨在为开发团队提供实用的指导和建议。文章不仅概述了自动化测试的基本原理和最佳实践,还详细讨论了如何克服实施过程中遇到的技术难题和管理障碍,以实现更高效、更可靠的软件交付。
|
23天前
|
监控 jenkins 测试技术
探索软件测试中的自动化与持续集成####
本文旨在探讨软件测试中自动化测试与持续集成(CI)的融合实践,分析其对提升软件开发效率和质量的重要性。通过深入剖析自动化测试的优势、持续集成的核心概念以及两者结合的最佳实践案例,揭示这一技术趋势如何重塑现代软件开发流程。文章还将讨论实施过程中的挑战和应对策略,为读者提供一套实用的方法论指导。 ####
|
27天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
1月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
下一篇
DataWorks