热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

1.介绍篇这里提出了一种基于RobotFramework自动化测试框架的最佳实践模式,利用gogs对RobotFramework的自动化测试用例进行版本管理ÿ
1. 介绍篇

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


img_8e38c3c6a585c4fb26387b620abd0d48.png
gogs+jenkins流程图
软件功能备注
gogsgit 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



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了包的基础知识,包是一种模块,本质上是一个文件夹,与普通文件夹的区别在于包含一个init文件。包的作用是从文件夹级别组织代码,提高代码的维护性。当代码抽取到模块中后,如果模块较多,结构仍然混乱,可以使用包来组织代码。创建包的方法是右键新建Python包,使用方式与模块一样,使用import来导入包。init文件的使用是将文件夹变成一个模块的方法,通过执行init文件来导入包。一个包中通常包含多个模块。 ... [详细]
author-avatar
高俊伦丽成
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有