最近工作上遇到(用到了)Katalon,感觉还行,于是乎有了这篇文章。
抛转引玉、目前国内网上的资料还比较有限,期待大家分享更高级的玩法。
我的理解Katalon是基于Selenium 之上加入很多辅助功能的工具箱。 官网文档直达
Katalon 三剑客
- Katalon-Studio
- 大哥:Katalon-Studio,集工程项目,CASE工厂,IDE 于一身。
- Katalon-Analytics
-
二哥:Katalon-Analytics,katalon自带的持续集成Web网址站,用于展示katalon-studio 执行结果、日志、测试结果趋势图。
二哥大概长这样:
-
三弟:Katalon版的SeleniumIDE,支持录制脚本,导出各种语言(含Katalon-Studio的groovy语言)
一些有趣的特性:
- 支持在Docker中运行(目前只支持最新版的Chrome 和 FF)
-
Katalon 支持用例失败后自动录屏
-
支持元素多种属性定位
-
支持Chrome 和 FF 的Headless 模式
-
录制生成PageObject
-
支持全局/局部 的变量 和 前/后处理方法
-
支持数据驱动
缺点:
- groovy 语法,拓展不易,不写代码的可以略过
Katalon 在 Dokcer中运行 Linux CentOS 7.3
安装命令:docker pull katalonstudio/katalon
- 参考文献1 - docker-images
- 参考文献2 - docker-images-samples
- Step0: 代码拉取 From Git Win or Mac中传代码到执行的服务器。顺便安利(Win10 系统可以装自己的Linux,不用依赖VMware)
- Step1: cd 到 Katalon 工程目录下
- Step2: 运行脚本修改(参考下面bash的注释)
- Step3: 执行
执行脚本分析:
#!/usr/bin/env bash
set -xe
current_dir=$(pwd)
project_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
reports_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )/reports/firefox"
rm -rfv "$reports_dir"
mkdir -p "$reports_dir"
katalon_opts='-browserType="Firefox" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/TS_RegressionTest"'
#指定执行的浏览器类型/失败重跑/延迟/测试脚本位置
docker run --rm -v "$project_dir":/katalon/katalon/source:ro -v "$reports_dir":/katalon/katalon/report -e KATALON_OPTS="$katalon_opts" katalonstudio/katalon
#docker的挂盘
#$project_dir":/katalon/katalon/source:ro 这个是脚本执行目录
#$reports_dir":/katalon/katalon/report 这个是报告生成目录
cd $current_dir
执行结果目录
执行报告展示