API测试是成功实现持续集成,并保持DevOps实践的重要组成部分。
概览
katalon官网:https://www.katalon.com/
Katalon Studio是一个开源、全面且健壮的测试自动化工具,可用于测试API、Web应用、桌面端、以及移动应用程序。使用Katalon Studio的主要好处是:它能够测试运行在多个操作系统(如:Mac OS、Linux和Windows)上的业务级别(如:API、Web服务)和UI。Katalon Studio支持带有DELETE、PUT、POST等多种命令,以及参数化的RESTful和SOAP请求。
为了方便部署,Katalon Studio将所有插件、ALM集成和框架打入了一个包。除了免费开源,Katalon也为企业和小型团队提供了付费的支持服务。
容器化
1 2 3 4 5 6 7 8
| docker run -t --rm katalonstudio/katalon cat /katalon/version
+ echo Entrypoint Entrypoint + '[' -z '' ']' + exec cat /katalon/version Mozilla Firefox 81.0 Katalon Studio
|
容器镜像地址:
katalonstudio/katalon
,不同版本替换tag即可,比如katalonstudio/katalon:7.9.0
环境变量:
由于部分UI测试时,图形界面的尺寸要求,需要在Dockerfile中配置环境变量ENV DISPLAY_CONFIGURATION 1920x1800x24
启动命令:
katalon-execute.sh -browserType="Firefox" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/vcg" -apikey="fa9df24d-3637-476a-892e-9bfc463648be"
可将Firefox浏览器换为Chrome
根据项目不同,修改testSuitePath参数和apikey参数
相关链接:
https://github.com/katalon-studio/docker-images
https://github.com/katalon-studio-samples/ci-samples
插件
插件商店:https://store.katalon.com/
安装Basic Report插件,可实现产出HTML、CSV、PDF格式的报告
开启远程报告分析
集成到云效
1 2 3 4 5 6 7 8
| FROM katalonstudio/katalon:7.9.0 ENV DISPLAY_CONFIGURATION 1920x1800x24 COPY .step/*.sh /root/ COPY katalon/step.sh /root/step.sh COPY katalon/jq /usr/bin/ RUN chmod +x /root/*.sh ENTRYPOINT [ "/root/entry.sh"]
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #step.sh #!/bin/bash set -e
# 系统提供参数,从流水线上下文获取 echo [INFO] PIPELINE_ID=$PIPELINE_ID # 流水线ID echo [INFO] PIPELINE_NAME=$PIPELINE_NAME # 流水线名称 echo [INFO] BUILD_NUMBER=$BUILD_NUMBER # 流水线运行实例编号 echo [INFO] EMPLOYEE_ID=$EMPLOYEE_ID # 触发流水线用户ID echo [INFO] WORK_SPACE=$WORK_SPACE # /root/workspace容器中目录 echo [INFO] PROJECT_DIR=$PROJECT_DIR # 代码库根路径,默认为/root/workspace/code echo [INFO] PLUGIN_DIR=$PLUGIN_DIR # 插件路径,默认为/root/workspace/plugins echo [INFO] BUILD_JOB_ID=$BUILD_JOB_ID # build-service 任务ID
cd $PROJECT_DIR
bash -c "$STEP_COMMAND"
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| --- name: vcg-katalon sign: vcg-katalon description: vcg-katalon image: registry.cn-beijing.aliyuncs.com/vcg-open/katalon:3.0 items: - label: 执行命令 name: STEP_COMMAND type: shell value: | cat /katalon/version pwd ls -al #katalon-execute.sh -browserType="Firefox" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/firstTest" -apikey="23149772-bb98-4692-8135-2cc423212e08" katalon-execute.sh -browserType="Firefox" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/vcg" -apikey="fa9df24d-3637-476a-892e-9bfc463648be"
|
效果