Robot Framework+Jenkins持续集成UI自动化项目
使用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:全网同名,转载注明出处
相关文章:
Robot Framework+Jenkins持续集成UI自动化项目
使用Robot Framework框架可进行Web端和APP端的UI自动化测试,为方便定时执行,可将Robot Framework的自动化项目持续集成至Jenkins平台,具体的操作步骤如下: 安装Jenkins的步骤如下: 手把手教小白安装Jenkins_程序员馨馨…...
【ROS】ROS1编程速览
1、简述 很多项目已经转向ROS2,本人作为ROS小白从ROS1开始学起,但是不会深入学习ROS1,只一带而过。 下面只了解一些ROS1中的概念和基本编程接口。 ROS1中有两种通信模式:话题模式和服务模式,区别如下 2、话题模式 …...
探索智能化:TOOM解析未来稿件校验系统的技术进展与应用展望
在信息时代,随着大数据、人工智能和自然语言处理等技术的快速发展,稿件校验系统正朝着智能化的方向迈进。智能化的稿件校验系统能够更准确、高效地检测虚假信息、抄袭行为以及提升文章质量。本文将探讨智能化稿件校验系统的技术进展与应用展望࿰…...
Java程序员从青铜到王者,不同段位的薪资和技能变化
想要薪资高,段位就得跟上,对于Java程序员来说,从青铜到王者,需要经历多个阶段,每个阶段需要掌握的技能都不一样。 今天,我们一起来看看每个段位都有什么特点、需要具备哪些“大杀”技能,也看看…...
tinyWebServer 学习笔记——二、HTTP 连接处理
文章目录 一、基础知识1. epoll2. 再谈 I/O 复用3. 触发模式和 EPOLLONESHOT4. HTTP 报文5. HTTP 状态码6. 有限状态机7. 主从状态机8. HTTP_CODE9. HTTP 处理流程 二、代码解析1. HTTP 类2. 读取客户数据2. epoll 事件相关3. 接收 HTTP 请求4. HTTP 报文解析5. HTTP 请求响应 …...
深入浅析Linux Perf 性能分析工具及火焰图
Perf Event 子系统 Perf 是内置于 Linux 内核源码树中的性能剖析(profiling)工具。它基于事件采样的原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位…...
java关键术语
java具有11个关键的术语,这些术语是从java的设计者所编写的白皮书中摘取,这些术语分别为:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、多态性。以下开始我们将逐一解说这些术语。 一、简单性 Java是C++语法的纯净版本,剔…...
1. 两数之和【简单】
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺…...
《编码——隐匿在计算机软硬件背后的语言》精炼——第17章(自动操作)
夫道成于学而藏于书,学进于振而废于穷。 文章目录 完善加法器加入代码的加法器扩大加数范围自由调用地址的加法器合并代码RAM和数据RAMJump指令硬件实现条件Jump指令零转移的硬件实现条件Jump指令的例子 总结 完善加法器 我们在第14章介绍了一个可以进行连加的加法…...
用Colab免费部署AI绘画云平台Stable Diffusion webUI
Google Colab 版的 Stable Diffusion WebUI 1.4 webui github 地址:https://github.com/sd-webui/stable-diffusion-webui 平台搭建 今天就来交大家如果来搭建和使用这个云平台。 第一步: 打开链接 https://colab.research.google.com/github/altryne/sd-webu…...
R.I.P,又一位程序员巨佬——左耳朵耗子陨落
震惊!谣言吧!求辟谣!默哀! 左耳朵耗子,在程序员这个群体里应该属于 GOAT 的存在了,虽然每个人心目中都有自己的 GOAT,但耗子叔的影响力可以说是有目共睹。 我也是在技术群刷到这张图片的&#…...
捷威信keithley吉时利2410数字源表 销售回收KEITHLEY2470新款源表
吉时利Keithley 2410 /2470高压源表/数字源表 产品概览 Keithley 2410 高压源表专为需要紧密耦合源和测量的测试应用而设计。Keithly 2410 提供精密电压和电流源以及测量功能。它既是高度稳定的直流电源,又是真正的仪器级 5-1/2 数字万用表。电源特性包括低噪声、…...
第二十九回:如何给ListView添加分隔线
文章目录 概念介绍添加方法使用属性装饰器 示例代码经验总结: 我们在上一章回中介绍了多种创建ListView的方式,本章回中将介绍" 如何给ListView添加分隔线".闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的分隔线也叫Divider,…...
用友 LRP计划维护视图
select planlotnumber 计划单号, demandId 自动编号, PartId 物料Id , sotype 单据类型(1:销售/2:预测), sodid 销售订单明细Id , socode 销售订单单号 , soseq 销售订单行号, PlanCode 计划单号 , DueDate 完工日期 , StartDate 开工日期 , UnitCode 主计量单位, C…...
数组--part 5--螺旋矩阵(力扣59/54)(剑指offer 29)
文章目录 基本算法思想leetcode 59 螺旋矩阵 IIleetcode 54 螺旋矩阵剑指Offer 29 顺时针打印矩阵 基本算法思想 建议先去把题目看了,再来思考相关的代码。 错误的想法:实际上这种题型并不存在算法,只涉及到模拟,但是模拟难度并…...
加密解密软件VMProtect入门使用教程(九)许可制度之许可系统功能
VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…...
MySQL基础-事务详解
本文主要介绍MySQL事务 文章目录 前言事务定义事务四大特性(ACID) 事务操作事务并发问题事务隔离级别 前言 参考链接: 链接1链接2 事务定义 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有的操作作…...
python 读写csv文件方法
csv是一种结构化文件,可以将文本转化成矩阵的形式,方便程序读取和处理。下面来介绍一下使用 python读写 csv文件的方法: 1.首先需要使用 pip安装 python包,然后将 csv文件解压到一个文件夹下 2.使用 pip安装 python包,…...
命令行更新Windows
命令行更新Windows powershell命令行更新安装 Windows Update module for Windows Powershell连接到 Windows Update 服务器并下载更新安装下载好的 Windows Update 更新 cmd执行Windows update更新检查更新下载 Windows Update 更新安装更新安装更新后重新启动设备 win10以下版…...
lwIP 多线程注意事项
关于 lwIP 多线程的总结: lwIP 内核不是线程安全的。如果在多线程环境中使用 lwIP,必须使用高层次的 Sequential 或 socket API。使用 raw API 时,需要自己保护好应用程序和协议栈核心代码。在无操作系统环境中使用 raw API: 使用…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 .mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
