0%

Katalon-自动化测试

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
#Dockerfile
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
#step.yaml
---
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"

效果