cheetah 自动化测试平台开源项目
了解如何接入 httprunner
测试平台接入 HttpRunner V4(一)基本功能接入
测试平台接入 HttpRunner V4(二)使用 config 实现用例之间的参数传递

大致功能

  1. 项目管理:项目创建后会初始化函数驱动,可根据实际需要对项目进行划分,各项目数据相互独立,无法查看、引用其他项目的数据
  2. 配置管理:公共数据配置,可以配置域名、请求头、变量和前置套件等
  3. 树形菜单:接口管理、测试套件、测试用例都包含了树形菜单,可以根据树形菜单对接口按功能模块、服务等进行划分,方便用例管理
  4. 接口管理:接口测试最基础模块,测试用例、测试套件、定时任务等都依赖与接口管理
  5. 测试套件:数据从接口管理的数据复制过来,数据相互独立,互不影响;运行配置只在调试时生效,测试用例、定时任务执行时无效
  6. 测试用例:引用测试套件,执行时以测试用例的配置为主;测试套件的修改,会导致测试用例运行报错、无法运行等
  7. 定时任务:引用多个定时任务,执行时各用例项目独立,没有依赖
  8. 性能任务:引用测试套件,增加性能测试相关特性(如:事务、集合点等)
  9. 测试报告:展示除压测任务的报告外的所有接口调试、运行报告
  10. 性能测试报告:展示性能测试报告
  11. 环境变量 (开发中):自行设置开发环境测试环境预发布环境等多个环境,相对固定的变量进行设置,如:域名、账号等

功能使用介绍

配置管理

主要功能

  1. 前置套件:引用测试套件,在接口、套件、用例类型进行调试和运行时,运行前置套件,一般用于初始化数据,如登录、创建用户等操作
  2. verify:是否开启 https 安全验证
  3. 默认配置:接口调试时会自动选择默认配置
  4. 域名格式:http://httpbin.org
  5. Header:默认请求头,在用例下的所有数据的默认请求头
  6. Variables:可以引用的变量,在当前配置下的所有接口都可以引用
  7. Parameters:参数化列表,用于对某写遍历场景

Header(默认请求头)

主要功能

  1. 标签: 内置部分常用标签(User-Agent、Host 等),可进行搜索或者增加自定义标签
  2. 内容: 标签对应的值
  3. 默认请求头,所有使用该配置的接口,请求头默认会带上

使用配置

  1. 使用变量:$version
  2. 调用函数无传参:${get_user_agent()}
  3. 调用函数:${sum_ints(1,$number)}
  1. 运行前 config_header
  2. 运行后 config_header_run

Variables(变量)

主要功能

  1. 变量名:调用时需要"$"符号,如设置的变量名为 version,调用时为:$version
  2. 类型:目前为 String、Integer、Float、Boolean、List、Dict
  3. 变量值:根据类型设置对应的值,如设置错误则无法使用对应的变量

  4. 运行前
    config_variables

  5. 运行后
    config_header_run

接口管理

主要功能

  1. 请求方法:GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH
  2. Header:请求头,会覆盖配置中的默认请求头
  3. Params:url 中携带的参数
  4. Form:表单中的参数
  5. Jsons:json 格式参数
  6. Extract:参数提取,提取后的变量在当前套件中有效
  7. Validate:断言
  8. Variables:局部变量,设置的局部变量只能在当前接口中有效
  9. Hooks:

Extract(参数提取),提取后的变量在当前套件中有效

  1. 变量名:调用时需要"$"符号,如设置的变量名为 version,调用时为:$version
  2. 抽取表达式

    • status_code:响应状态码
    • body:response body,通过 body.data 获取到 body 下的 data 字段
  3. 运行前
    api_extract

  4. 运行后
    api_resp_extract

Validate(断言)

  1. 断言字段:同Extract中的抽取表达式
  2. 断言类型:
    • 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: 字符串是否以什么结尾
  3. 期望类型、期望返回值:根据断言类型设置相对应的值

  4. 运行前
    api_validate

  5. 运行后
    api_resp_validate

测试套件(测试步骤)

主要功能

  1. 调试运行配置:调试时需要使用的配置,临时变量,测试用例定时任务性能测试中执行时不使用该临时变量
  2. 前置套件:是否可以被设置为前置套件,默认为否
  3. 测试步骤:进入套件详情可以设置测试步骤,通过拖动的方式进行增加和调整执行顺序

  4. 套件详情
    step_detail

  5. 套件添加测试步骤
    step_add_case

测试用例

主要功能

  1. 用例详情:对用例引用的套件进行维护,通过拖动进行排序
  2. 排序:添加后的用例,默认排序为999,需要进行拖动排序 (以免执行时顺序错误),拖动排序后会以最后的顺序执行
  3. 添加套件:添加时可以同时添加多个,一个套件可以同时添加多次

  4. 测试用例详情
    case_detail

  5. 测试用例添加套件
    case_add_step

定时任务

主要功能

  1. 任务详情:对用例引用的测试用例进行维护,通过拖动进行排序,因为每个测试用例相对独立,所以执行顺序不会影响接测试结果
  2. 添加用例:添加时可以同时添加多个,一个用例可以同时添加多次
  3. 定时执行:定时执行为启用状态时,需要填写时间配置

  4. 编辑任务
    case_detail

  5. 任务详情
    case_add_step

  6. 任务添加测试用例
    case_add_step

测试报告

主要功能

  1. 除性能数据外的其他运行测试报告都在测试报告内
  2. 测试报告详情只统计用例状态接口状态,暂未统计套件状态

  3. 测试报告列表
    report_list

  4. 测试报告详情
    report_detail

  5. 测试报告接口详情
    report_api_detail


↙↙↙阅读原文可查看相关链接,并与作者交流