Robot Framework+Jenkins持续集成UI自动化项目

news2024/11/26 8:31:37

使用Robot Framework框架可进行Web端和APP端的UI自动化测试,为方便定时执行,可将Robot Framework的自动化项目持续集成至Jenkins平台,具体的操作步骤如下:

安装Jenkins的步骤如下:

手把手教小白安装Jenkins_程序员馨馨的博客-CSDN博客

一)安装插件Robot Framework

安装方法为:点击系统管理(Configure System)->插件管理(Manage Jenkins),选择可选插件,搜索需要的插件后直接安装即可,安装后会重启Jenkins

二)配置Slave

启动Jenkin服务的这台机器在Jenkins中被称为Master,而其他连到Master上的机器(物理机或虚拟机)被称为Slave,Master/Slave相当于 Server 和 Agent 的概念。

Master 提供web接口让用户来管理 Job 和 Slave,Job 可以运行在Master本机或者被分配到Slave上运行。一个Master可以关联多个Slave用来为不同的Job或相同的Job的不同配置来服务。



1、新建节点

进入系统管理->管理节点页面点击左侧的新建节点,输入节点名称,并选择固定代理(Dumb Slave),如果已经添加过节点了,也可以选择复制现有节点

2、配置从节点

点击OK后进入有节点设置页面,此页面上有一些配置项,概要说明如下

3、设置端口

通过Java Web Start链接节点,适用于所有支持Java程序的系统,但是一般来说Windows子节点都是使用Java Web Start方式来进行。使用这种方式需要配置代理端口。

方法:系统管理->全局安全配置->代理设置端口并勾选代理协议



4、启动Slave

在Slave列表页可以看到,如果Slave图标上有一个红色的叉号,这代表当前此Slave处于offline状态。

可通过界面启动,也可通过命令行启动,本次演示通过命令行启动的方式,下载agent.jar文件,cmd进入到这个文件夹,输入命令行即可启动

三)配置Job

在Jenkins首页的左侧菜单栏,点击新建任务,输入一个任务名称,并选择“构建一个自由风格的软件项目”,点击确定进入配置Job页面。

配置Job页面分为六个部分,分别为General,源码管理,构建触发器,构建环境,构建,构建后操作:

1、源码管理

默认就好,构建触发器可设置定时任务,根据自己的需求设置即可

定时构建:

进入项目配置页面,【构建触发器】中勾选“Build periodically”,可以点击蓝色背景的小问号查看帮助,里面有示例。

 具体划分了5个字段,从前到后表示分时天月周,比如以下规则。

 H/5 * * * *表示每5分钟构建一次

 H 20 * * * 表示每天20点构建一次

 H H/2 * * * 表示每两小时构建一次

 H(0-29)/10 * * * *表示每小时的前29分钟内每10分钟执行一次

2、构建中“增加构建步骤”

选择【Execute Windows batch command】,填写执行命令,路径请根据实际环境进行修改,若执行用例只选择到目录,则执行当前目录下所有的测试用例,要执行的用例可选择到具体的测试套件,比如:"pybot.bat

D:\robot\kakasuit.robot",构建后操作,设置发布测试结果

3、构建Job

配置完成后,点击Build Now,可以进行项目构建执行,构建历史会出现正在构建的项目,蓝色构建成功,红色失败。

4、RF测试报告打不开的解决方法

https://www.cnblogs.com/hyj691001/p/12034700.html

在jenkins中执行Groovy脚本执行:(系统管理(Manage Jenkins)-脚本命令行(Script Console),执行如下脚本)

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")


四)Jenkins邮件通知

1、系统管理员邮件地址配置

进入系统配置页面,首页选择“Configure System”,找到【Jenkins Locaction】项填入“Jenkins URL”和“系统管理员邮件地址”,邮件由系统管理员负责发送。

2、安装插件Email Extension Template(邮件模板)

3、系统邮箱信息配置

入系统配置页面,首页选择“Configure

System”,找到【Extenzmail

Notification】项,填写SMTP服务及端口(以QQ邮箱为例),Cerdentials中点击添加按钮进入添加凭据页面,类型需选择"Username

with Password",然后填写邮箱账号和授权码即可。

4、填写默认邮件接收人,邮件内容等信息

在【Extended E-mail Notification】下配置默认邮件接收人、默认邮件主题、默认邮件内容,并选择触发邮件条件。

5、系统邮箱信息配置

找到【邮件通知】项,配置邮箱服务器、后缀、端口及邮箱账号和授权码,授权码请在登录邮箱配置,登录邮箱是配置的系统管理员邮箱,然后配置邮件接收人地址,可勾选“通过发送测试邮件测试配置”验证邮件配置时候正确,然后点击应用保存,完成系统配置。

6、对单个Job配置邮件内容

进入项目配置页面,找到【增加构建后操作步骤】,选择【Editable Email Notification】,配置项不进行任何修改直接应用保存,接收到的就是默认的邮件格式,修改消息类型为HTML,将模板内容粘贴到Default

Content中接收到的邮件就是模板样式。

Default

Content:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>

</head>

<body leftmargin="8"

marginwidth="0" topmargin="8" marginheight="4"

 offset="0">

 <table

width="95%" cellpadding="0" cellspacing="0"

style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica,

sans-serif">

 <tr>

 本邮件由系统自动发出,无需回复!<br/>

 各位同事,大家好,以下为${PROJECT_NAME

}项目构建信息</br>

 <td><font

color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>

 </tr>

 <tr>

 <td><br />

 <b><font

color="#0B610B">构建信息</font></b>

 <hr

size="2" width="100%" align="center"

/></td>

 </tr>

 <tr>

 <td>

 <ul>

 <li>项目名称

: ${PROJECT_NAME}</li>

 <li>构建编号

: 第${BUILD_NUMBER}次构建</li>

 <li>触发原因:

${CAUSE}</li>

 <li>构建状态:

${BUILD_STATUS}</li>

 <li>构建日志:

<a

href="${BUILD_URL}console">${BUILD_URL}console</a></li>

 <li>构建

Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>

 <li>工作目录

: <a

href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>

 <li>项目

Url : <a

href="${PROJECT_URL}">${PROJECT_URL}</a></li>

 </ul>

<h4><font color="#0B610B">失败用例</font></h4>

<hr size="2" width="100%"

/>

$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>

<hr size="2" width="100%"

/>

<ul>

${CHANGES_SINCE_LAST_SUCCESS, reverse=true,

format="%c", changesFormat="<li>%d [%a]

%m</li>"}

</ul>

详细提交: <a

href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

 </td>

 </tr>

 </table>

</body>

</html>

7、对单个Job配置指定的收件人

接6,【Editable Email Notification】,配置项下方点击"Advanced

setting",会展开邮件触发器对应的场景列表,点击对应的高级按钮,可分别对邮件发送人员进行单独配置。

8、查看QQ邮件效果

 PS:全网同名,转载注明出处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/538826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于对【java中的Lambda表达式】的理解与简述

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/130522535 出自【进步*于辰的博客】 坦白说&#xff0c;在我学会如何使用Lambda表达式后&#x…

机器学习笔记:高斯混合模型 GMM

1 高斯混合模型 总体分布是由K个高斯分布的组成的混合分布 1.1 一些记号 xj第j个观测数据K模型中高斯模型的数量αk 观测数据属于第k个子模型的概率 第k个子模型的高斯分布密度函数 &#xff08;也就是一个高斯分布的密度函数 第j个观测数据属于第k个子模型的概率 1.2 高斯…

Windows环境下安装Redis

下载地址&#xff1a; Releases microsoftarchive/redis GitHub Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择&#xff0c;这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘redis文件夹下。 网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.co…

web应用安全漏洞

注入类 数据库注入 SQL注入 结构化查询语言 (Structured Query Language)简称SQL&#xff0c;结构化查询语言是一种数 据库查询和程序设计语言&#xff0c;用于存取数据以及查询、更新和管理关系数据库系统 关系型数据库 &#xff0c;是指采用了关系模型来组织数据的数据库&…

STM32(一)准备开发环境CLion+CubeMX

本篇内容 一、CLion和STM32CubeMX基础安装二、安装OpenOCD三、安装交叉编译工具链四、配置CLion并点亮第一个LED灯五、烧录程序六、错误排查 本篇安装配置STM32的开发环境&#xff0c;使用的是稚晖君同款CLionSTM32CubeMX的开发环境 一、CLion和STM32CubeMX基础安装 软件安装只…

Java-API简析_java.lang.Integer类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/130730986 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

Python绘制带误差棒的柱状图渐变色填充含数据标注(进阶)

往期python绘图合集: python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 python绘制柱状图并美化|不同颜色填充柱子 文章目录 准备数据一、绘制图表二、…

Android RecyclerView实现吸顶动态效果,附详细效果图

文章目录 一、ItemDecoration二、实现RecyclerView吸顶效果1、实现一个简单的RecyclerView2、通过ItemDecoration画分割线3、画出每个分组的组名4、实现吸顶效果 完整demo 链接:https://download.csdn.net/download/JasonXu94/87786702 一、ItemDecoration [外链图片转存失败…

SpringDataRedis

SpringDataRedis SpringDataRedis简介RedisTemplate对Redis操作类型SpringDataRedis快速入门1、引入spring-boot-starter-data-redis依赖2、在application.properties配置Redis信息3、注入RedisTemplate并测试 SpringDataRedis的序列化方式现象分析SpringDataRedis的序列化方式…

基于RK3588的以太网PHY的问题分析

环境:RK3588为荣品电子核心板,PHY为裕太微电子YT8521; 首先上电后识别不到以太网: 1.先怀疑驱动的问题,因为本方案中直接使用的是荣品电子官方的驱动; 对比原理图及驱动。涉及到一个配置问题。 基于时钟来源的不通,驱动程序可分为四种模式,PHY的时钟和TXCLK的时钟;…

北华大学第九届程序设计竞赛 题解

5.14和队友VP一场&#xff0c;第二次VP&#xff0c;状态明显比第一次好很多&#xff0c;总共A了7题&#xff0c;基本是能做出来的都做出来了&#xff0c;最后还剩下接近2小时的时间。。。。。 A "北华"有几何 思路&#xff1a;数图片中“北华”的数量&#xff0c;直…

双平台GraalVM编译二进制程序

本文示例均采用Java11&#xff0c;GraalVM目前无法支持跨平台编译&#xff0c;比如&#xff0c;我通过Linux直接编译Windows可执行的exe&#xff0c;是不行的。 因此&#xff0c;需要掌握两种平台的GraalVM的安装、使用。 一、背景 1.1 为何GraalVM快&#xff1f; 常规Java…

永恒之塔私服 2.0包楼纳斯达克 网游的诺曼底登陆-

二战末期的诺曼底登陆&#xff0c;至今让人历历在目。盟军自此在西欧展开大规模进攻&#xff0c;加速了纳粹德国的崩溃。从某种意义上说&#xff0c;诺曼底登陆是整个二战一次生死攸关的转折点。《永恒之塔2.0&#xff1a;进军龙界》登上纳斯达克&#xff0c;也是一场激荡人心的…

基于自动编码器VAE的声音生成之音频预处理模块preprocess pipeline的实现和代码讲解

文章目录 概述Preprocessline模块实现以及代码讲解Loader模块Padder模块LogSpectrogramExtractor模块MinMaxNormaliser模块Saver模块PreprocessPipeLine模块知识补充property修饰词 总结 概述 这部分是将原来基于mnist手写数据集生成模型&#xff0c;一个用到基于FSDD音频数据…

蓝桥:前端开发笔面必刷题——Day2 数组(二)

文章目录 &#x1f4cb;前言&#x1f3af;删除有序数组中的重复项&#x1f4da;题目内容✅解答 &#x1f3af;移动零&#x1f4da;题目内容✅解答 &#x1f3af;长度最小的子数组&#x1f4da;题目内容✅解答 &#x1f3af;反转字符串数组&#x1f4da;题目内容✅解答 &#x1…

麒麟操作系统软件更新灾难连篇之二:QQ罢工

在解决了中文输入法消失的问题后&#xff0c;还没缓过气来&#xff0c;又发现QQ罢工了&#xff1a;双击电脑桌面上的QQ图标&#xff0c;没有显示QQ登录界面。 重启电脑再试&#xff0c;还是不显示QQ登录界面。 前不久腾讯正式宣布&#xff0c;QQ Linux 版 3.0 已在 QQ 官网上…

最好用的文本与文件查询软件AnyTXT Searcher与Listary简介

1. 工具简介 1.1 Listary简介 Listary是一个革命性的Windows搜索工具&#xff0c;借助 Listary软件&#xff0c;你可以快速搜索电脑文件、定位文件、执行智能命令、记录访问历史、快速切换目录、收藏常用项目等。 Listary为Windows传统低效的文件打开/保存对话框提供了便捷、…

Apache Tomcat AJP协议文件读取与包含

永远也不要忘记能够笑的坚强&#xff0c;就算受伤&#xff0c;我也从不彷徨。 0x01.漏洞情况分析 Tomcat是Apache软件基金会Jakarta 项目中的一个核心项目&#xff0c;作为目前比较流行的Web应用服务器&#xff0c;深受Java爱好者的喜爱&#xff0c;并得到了部分软件开发商的…

makefile 学习(2):C语言的编译及库文件的生成与链接

文章目录 1. 介绍2. C语言编译2.1 预处理2.2 生成汇编语言2.3 编译目标文件2.4 编译为可执行文件 3. .a静态库的编译与链接案例 4 .so 动态库的编译与链接 1. 介绍 编译C语言的相关后缀 .a 文件是一个静态库文件.c文件是c语言的源文件.h c语言的头文件.i 是预处理文件.o 目标文…

两个用字符串表示的大数字的和

文章目录 题目详情Java实现分析Java 怎么获取到字符串中的对应位置的数字值Java完整代码测试验证 python实现python 怎么获取到字符串中的对应位置的数字值python完整代码 总结 这是遇到的一道快手数仓岗位的面试题目&#xff0c;题目大意如下&#xff1a; 题目详情 现在有两个…