katalon系列十一:Katalon Studio在Jenkins持续集成
以下在WIN10上运行正常。
安装准备:
一、安装Katalon Studio
二、安装Jenkins
三、获取Katalon命令行运行命令:点击工具栏的‘Build CMD’按钮,选择测试集以及其他选项;选好后点‘Generate Command’即可生成命令,注意生成的命令要去掉-noExit和-consoleLog,以便CI日志可以直接显示在作业视图上。我这里生成的例子:
katalon -runMode=console -projectPath="E:\work\code\katalon\research\research.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/crf" -executionProfile="default" -browserType="Chrome"

配置Jenkins:
一、进入Jenkins点击左上角的‘新建任务’,输入任务名称,选择第一个‘构建一个自由风格的软件项目’,点确定。
二、
1.构建环境中选中‘Delete workspace before build starts’,官方解释原因为防止长久运行后毁坏项目文件夹;
2.构建中选择‘执行Windows批处理命令’
输入命令:
d:
cd D:\Program Files\Katalon_Studio_Windows_64-5.8.6
katalon -runMode=console -projectPath="E:\work\code\katalon\research\research.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/crf" -executionProfile="default" -browserType="Chrome"
copy "E:\work\code\katalon\research\Reports\JUnit_Report.xml" "D:\Program Files (x86)\Jenkins\workspace\katalon\JUnit_Report.xml" /y
copy "D:\szh\katalon\research\Reports\report.html" "D:\Program Files (x86)\Jenkins\workspace\katalon-prdb\report.html" /y
第一行切换到d盘
第二行切换到Katalon安装目录
第三行为准备工作时准备的命令行语句
第四、五行是我集成了JUnit报告插件、HTML报告插件,但因为Jenkins运行后并没有在当前任务空间生成运行报告,所以我手动把报告复制过来(下面会讲到集成JUnit、HTML报告,如果你不需要的话第四、五行可以删掉)
3.集成JUnit报告插件(首先你的Jenkins已经安装了JUnit报告插件)
在‘构建后操作’中选择‘Publish JUnit test result report’
‘测试报告(XML)’一栏输入报告的路径,你可以先按官方的推荐写成这样子:Reports\crf\*\JUnit_Report.xml;其中crf为测试集的名字。但是因为我运行后Jenkins的workspace并没有生成报告,所以在上面第四行命令的时候,我将报告复制到了任务根目录。
运行效果:
exit 0表示运行成功,其他情况:
0: the execution passed with no failed or error test case.
1: the execution has failed test cases.
2: the execution has error test cases.
3: the execution has failed test cases and error test cases.
4: the execution cannot start because of invalid arguments.



再构建项目后,就有HTML报告了,其实这个报告就是Katalon项目中Report目录下的html文件,只不过可以直接在Jenkins打开了,方便一点。不过我用Chrome浏览器打开有问题,用IE浏览器就OK。
后记——Jenkins日志乱码:
Katalon用例中的备注,我是用的中文,在Jenkins日志中,全显示成了乱码,这是因为用例中的编码是UTF-8,而WINDOWS上的Jenkins是GBK。你可以在Jenkins顶级目录点系统管理--系统属性,‘file.encoding’一栏看到Jenkins的编码。
解决方法就是在Windows添加一个环境变量,名称为:JAVA_TOOL_OPTIONS;值为:-Dfile.encoding=UTF-8
如果设置完重启电脑后依然没生效,试试升级一下JDK,或重新安装,我的版本是jdk1.8.0_191
官方文档:https://docs.katalon.com/katalon-studio/docs/jenkins-integration.html#publish-junit-reports
katalon系列十一:Katalon Studio在Jenkins持续集成的更多相关文章
- Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins手动构建-----04
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins配置演示-----03
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02
1. Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求, ...
- Jenkins持续集成企业实战系列之两种网站部署的流程-----01
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- Jenkins持续集成
Jenkins持续集成 & .NET 最近受累于测试环境每次发布都很麻烦,而且我们有多个测试环境,因此专门抽时间做了Jenkins的配置和研究. 折腾了两天终于绿灯以后,先来个截图,Blu ...
- Jenkins持续集成学习-Windows环境进行.Net开发1
目录 Jenkins持续集成学习-Windows环境进行.Net开发 目录 前言 目标 使用Jenkins 安装 添加.net环境配置 部署 结语 参考文档 Jenkins持续集成学习-Windows ...
- Jenkins持续集成学习-Windows环境进行.Net开发2
目录 Jenkins持续集成学习-Windows环境进行.Net开发2 目录 前言 目标 使用 .Net Stardard 单元测试 流程 手动执行单元测试 自动执行单元测试 单元测试报告 上传Nug ...
随机推荐
- git命令将本地代码提交到github
git命令将本地代码提交到github 步骤: 第一步:进入到相应的文件夹,用git init命令,将该文件夹变成git可管理的仓库 git init 第二步:将项目添加到本地仓库 可以用git st ...
- 安卓混合开发——原生Java和H5交互,保证你一看就懂!
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...
- [LuoguP2403][SDOI2010]所驼门王的宝藏
题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为"先知"的Alpaca L. Sotomon是这个家族的领袖,外人也称其为"所驼门王". ...
- 获取 iOS APP 内存占用的大小
当我们想去获取 iOS 应用的占用内存时,通常我们能找到的方法是这样的,用 resident_size: #import <mach/mach.h> - (int64_t)memory ...
- JS判断两个数字的大小
javascript中定义的var类型是弱类型,默认是String类型,在比较两个数字大小的时候默认比较的是两个字符串,比如,在比较10和2时,按数字做比较10是比2大,可是按默认的字符串比较时,第一 ...
- 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题
最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...
- 偏前端 - 不是固定宽高,页面随设备同比 放大/缩小 展示。不妨看看rem单位,你就有眉目上手做了!!!
为什么要使用rem 之前有些适配做法,是通过js动态计算viewport的缩放值(initial-scale). 例如以屏幕320像素为基准,设置1,那屏幕375像素就是375/320=1.18以此类 ...
- jQuery|简单tab栏切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 刷新父页面
//刷新父页面 window.opener.location.reload();
- webstorm累计
websorm官网下载安装: 1.一下粗略截图说明,点击下一步下一步安装到合适的路径下. 2.next下一步下一步安装成功后弹出,点击ok就行. 2.再次运行webstorm快捷方式打开:界面如下: ...