cheetah测试平台 测试平台使用文档
扬帆自动化测试平台
·
2023年01月08日
·
5659 次阅读
「原创声明:保留所有权利,禁止转载」
大致功能
- 项目管理:项目创建后会初始化函数驱动,可根据实际需要对项目进行划分,各项目数据相互独立,无法查看、引用其他项目的数据
- 配置管理:公共数据配置,可以配置域名、请求头、变量和前置套件等
- 树形菜单:接口管理、测试套件、测试用例都包含了树形菜单,可以根据树形菜单对接口按功能模块、服务等进行划分,方便用例管理
- 接口管理:接口测试最基础模块,测试用例、测试套件、定时任务等都依赖与接口管理
- 测试套件:数据从接口管理的数据复制过来,数据相互独立,互不影响;运行配置只在调试时生效,测试用例、定时任务执行时无效
- 测试用例:引用测试套件,执行时以测试用例的配置为主;测试套件的修改,会导致测试用例运行报错、无法运行等
- 定时任务:引用多个定时任务,执行时各用例项目独立,没有依赖
- 性能任务:引用测试套件,增加性能测试相关特性(如:事务、集合点等)
- 测试报告:展示除压测任务的报告外的所有接口调试、运行报告
- 性能测试报告:展示性能测试报告
- 环境变量 (
开发中
):自行设置开发环境
、测试环境
、预发布环境
等多个环境,相对固定的变量进行设置,如:域名、账号等
功能使用介绍
配置管理
主要功能
- 前置套件:引用测试套件,在接口、套件、用例类型进行调试和运行时,运行前置套件,一般用于初始化数据,如登录、创建用户等操作
- verify:是否开启 https 安全验证
- 默认配置:接口调试时会自动选择默认配置
- 域名格式:http://httpbin.org
- Header:默认请求头,在用例下的所有数据的默认请求头
- Variables:可以引用的变量,在当前配置下的所有接口都可以引用
- Parameters:参数化列表,用于对某写遍历场景
Header(默认请求头)
主要功能
- 标签: 内置部分常用标签(User-Agent、Host 等),可进行搜索或者增加自定义标签
- 内容: 标签对应的值
- 默认请求头,所有使用该配置的接口,请求头默认会带上
使用配置
- 使用变量:$version
- 调用函数无传参:${get_user_agent()}
- 调用函数:${sum_ints(1,$number)}
- 运行前
- 运行后
Variables(变量)
主要功能
- 变量名:调用时需要"$"符号,如设置的变量名为 version,调用时为:$version
- 类型:目前为 String、Integer、Float、Boolean、List、Dict
变量值:根据类型设置对应的值,如设置错误则无法使用对应的变量
运行前
运行后
接口管理
主要功能
- 请求方法:GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH
- Header:请求头,会覆盖配置中的默认请求头
- Params:url 中携带的参数
- Form:表单中的参数
- Jsons:json 格式参数
- Extract:参数提取,提取后的变量在当前套件中有效
- Validate:断言
- Variables:局部变量,设置的局部变量只能在当前接口中有效
- Hooks:
Extract(参数提取),提取后的变量在当前套件中有效
- 变量名:调用时需要"$"符号,如设置的变量名为 version,调用时为:$version
抽取表达式
- status_code:响应状态码
- body:response body,通过 body.data 获取到 body 下的 data 字段
运行前
运行后
Validate(断言)
- 断言字段:同
Extract
中的抽取表达式
- 断言类型:
- equals: 是否相等
- less_than: 小于
- less_than_or_equals: 小于等于
- greater_than: 大于
- greater_than_or_equals: 大于等于
- not_equals: 不等于
- string_equals: 字符串相等
- length_equals: 长度相等
- length_greater_than: 长度大于
- length_greater_than_or_equals: 长度大于等于
- length_less_than: 长度小于
- length_less_than_or_equals: 长度小于等于
- contains: 预期结果是否被包含在实际结果中
- contained_by: 实际结果是否被包含在预期结果中
- type_match: 类型是否匹配
- regex_match: 正则表达式是否匹配
- startswith: 字符串是否以什么开头
- endswith: 字符串是否以什么结尾
期望类型、期望返回值:根据断言类型设置相对应的值
运行前
运行后
hooks
hooks 分为 setup hooks 和 teardown hooks
可以用来对数据加解密或者初始化和清理数据的操作
如何使用
${setup_hook_encryption($request)}
${setup_hook_decrypt($response)}
- 传参:setup hooks 使用 request,teardown hooks 使用 response
- setup hooks 函数返回为 request 对象,teardown hooks 函数返回为 response 对象
def setup_hook_encryption(request):
request["body"]["setup_hook_encryption_request"] = "setup_hook_encryption_request"
return request
def setup_hook_decrypt(response):
response["body"]["setup_hook_decrypt"] = "setup_hook_encryption_response"
return response
测试套件(测试步骤)
- 测试套件由
API
组成,复制接口管理中的API
并做外键关联,方便后续的数据统计。- 测试套件可以复制多个相同或者不同的
API
,与API
为多对多关系- 测试套件一般为一个操作,如:登录、查询订单等
- 设置为前置套件时,一般不能依赖于其他套件的返回值
主要功能
- 调试运行配置:调试时需要使用的配置,临时变量,
测试用例
、定时任务
、性能测试中
执行时不使用该临时变量- 前置套件:是否可以被设置为前置套件,默认为否
测试步骤:进入套件详情可以设置测试步骤,通过拖动的方式进行增加和调整执行顺序
套件详情
套件添加测试步骤
测试用例
- 测试用例由
套件
组成,引用套件
,套件
修改会导致测试用例的执行结果- 运行配置:在
测试用例
和定时任务
中执行使用该配置- 测试用例一般为一个完整的操作,如:注册流程、创建订单并完成支付等
主要功能
- 用例详情:对用例引用的
套件
进行维护,通过拖动进行排序- 排序:添加后的用例,默认排序为
999
,需要进行拖动排序 (以免执行时顺序错误),拖动排序后会以最后的顺序执行添加套件:添加时可以同时添加多个,一个
套件
可以同时添加多次测试用例详情
测试用例添加套件
定时任务
- 接口测试中最核心的执行部分
- 运行配置:定时任务中没有运行配置,根据测试用例中的运行配置去执行,所以用例的数据互不影响
- 定时任务引用测试用例
- 并发执行 (
开发中
):考虑到执行时间问题,多个用例可以同时执行以节省等待时间
主要功能
- 任务详情:对用例引用的
测试用例
进行维护,通过拖动进行排序,因为每个测试用例相对独立,所以执行顺序不会影响接测试结果- 添加用例:添加时可以同时添加多个,一个
用例
可以同时添加多次定时执行:定时执行为启用状态时,需要填写时间配置
编辑任务
任务详情
任务添加测试用例
测试报告
- 用例类型:
api
、套件
、用例
、定时任务
、性能测试
- 执行类型:
保存调试
、调试运行
、后台运行
、定时运行
主要功能
- 除性能数据外的其他运行测试报告都在测试报告内
测试报告详情只统计
用例状态
和接口状态
,暂未统计套件状态
测试报告列表
测试报告详情
测试报告接口详情
往期文档
- cheetah 自动化测试平台开源项目
- 了解如何接入 httprunner
- 测试平台接入 HttpRunner V4(一)基本功能接入
- 测试平台接入 HttpRunner V4(二)使用 config 实现用例之间的参数传递
- 测试平台接入 HttpRunner V4(三)详细功能介绍
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。