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 ...
随机推荐
- [转]DbHelper通用数据库访问帮助类
之前我一直都是在博客园中查看各位高手的博文,确实学到了不少知识,不过比较少写博客,现在就把我自己在项目实施过程中使用到比较好的技术框架写出来,希望能让更多的人了解和学习. 通常我们在开发使用数据库访问 ...
- SublimeLinter插件对PHP语法检测不起作用的解决办法
系统:windows7+sublime3 1.安装sublimelinter ctrl+shift+p=>pi=>回车=>sublimelinter=>回车 2.安装好后进行配 ...
- 博客存档TensorFlow入门一 1.4编程练习
import tensorflow as tf import numpy import matplotlib.pyplot as plt #from sklearn.model_selecti ...
- linux内存管理---物理地址、线性地址、虚拟地址、逻辑地址之间的转换
linux内存管理---虚拟地址.逻辑地址.线性地址.物理地址的区别(一) 这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析 CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步 ...
- i2c子系统
linux内核的I2C驱动框架总览(1)I2C驱动框架的主要目标是:让驱动开发者可以在内核中方便的添加自己的I2C设备的驱动程序,从而可以更容易的在linux下驱动自己的I2C接口硬件(2)源码中I2 ...
- oracle中的greatest 函数和 least函数
oracle中的greatest 函数和 least函数 原文地址:https://blog.csdn.net/sinat_32023305/article/details/78778596 g ...
- CORS跨域实现思路及相关解决方案
本篇包括以下内容: CORS 定义 CORS 对比 JSONP CORS,BROWSER支持情况 主要用途 Ajax请求跨域资源的异常 CORS 实现思路 安全说明 CORS 几种解决方案 自定义CO ...
- PHP连接mysql8.0出错“SQLSTATE[HY000] [2054] The server requested authentication method unknow.....
这个错可能是mysql默认使用 caching_sha2_password作为默认的身份验证插件,而不再是 mysql_native_password,但是客户端暂时不支持这个插件导致的. 解决方法一 ...
- Mysql浅析-基础命令(一)
主要从以上篇幅来介绍mysql的一些知识点 一.Mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数 ...
- python格式化输出、逻辑表达式和字符编码
格式化输出: %s 字符串占位符;%d 整数占位符 注意:如果前面有了占位符,那么后面所有的%都是占位,如果要输出“%”,需要使用转移符,即"%%" #定义三个变量 name = ...