# 自动化测试平台 **Repository Path**: gui-gui-123/CrazyTester ## Basic Information - **Project Name**: 自动化测试平台 - **Description**: 集成接口、UI的易上手且功能强大的自动化测试平台 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2024-07-11 - **Last Updated**: 2024-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 前言 2022年4月6日18:57:42: **代码已下架,仅开放使用文档为同好小伙伴提供设计思路** **作者微信:SSR_SandMan(1、备注来意;2、不再提供代码,免开尊口)**

**☆ 功能介绍&使用文档详情可查看:** github:https://github.com/GuoJinga/CrazyTester_pub 码云:https://gitee.com/Crazy__G/CrazyTester.git **☆ 全栈开发简而精但功能又丰富强大、可视化强、用户易上手、高可用的自动化测试平台。 集成了接口、UI、MQTT、报表四大方向,并通过定时任务、报警通知、统计看板等功能持续监控产品质量,及时通知反馈任务测试结果。** ☆ **意义:降本提效** 1、摒弃传统手动测试阶段、代码框架管理阶段、直接进入可视化平台阶段。使即使不会代码的测试小伙伴也能轻松使用平台,参与自动化测试建设,实现自动化复测&回归; 2、团队在平台共同协作,将所有自动化测试数据资产落库留存,以便复用&流传; 3、通过自动化运行降低测试人员的测试时间成本、人力成本,提高测试效率、测试准确率、测试可靠性。 ☆ **技术构架:** 前端bootstrap、后端python+Django、数据库mysql、消息列队RabbitMQ等 python包:requests、APScheduler、selenium、appium、阿里云SDK等 ☆ **项目功能:** 登录、项目管理、分组管理、用例管理、测试任务(定时任务)、 全局环境(全局变量、全局域名、全局请求头、全局cookies)、 统计看板、测试报告、报告通知(企业微信、邮箱、办公OA)等 ☆ **落地成果:** 总计管理13个项目,通过自动化运行,减少繁琐复杂的人工操作,在多套环境下减轻接口、 UI、MQTT、报表 复测与回归成本,为测试工作降本提效,持续监控产品质量并持续供质量保障。 1、**接口测试:** 目前管理 3126个接口、11032条用例、306个测试任务。 每日定时任务执行用例5455个,平均执行时长10min。相比手工执行5455min+,提效545倍+。 2、**UI测试:** 目前管理505条用例、18953步有效步骤。112个测试任务。 每个任务平均执行时长10min,每执行一个任务解放人力10min。 3、**MQTT测试:** 目前管理 1002条Topic、2612条用例、95个测试任务。 每日定时任务执行用例1033,平均执行时长15min。相比手工执行3099min+,提效206倍+。 4、**报表测试:** 目前管理报表43张。

# 自动化测试平台 使用文档 ### 目录 - 平台简介 - [为什么实现平台化](#pingtai_youshi) - [本平台接口测试优势](#api_youshi) - [平台功能平铺图](#structure1) - [平台功能结构图](#structure2) - [接口业务使用流程](#api_liucheng) - [接口单用例测试执行流程详解](#api_case_liucheng) - [接口用例设计思想](#api_case_design) - 基础通用功能 - [登录、登出](#lgoin) - [项目配置](#project_config) - [全局环境](#env) - [参数化功能](#canshuhua) - [报告通知](#report) - [接口测试](#API) - 快速上手 - [新增项目](#api_qiuck_add_project) - [新增全局环境](#api_qiuck_add_env) - 新增全局域名 - 新增全局变量 - 新增全局请求头 - 新增全局cookies - [项目下创建分组、接口](#api_qiuck_add_group) - 手动创建分组、接口 - 使用yapi同步功能 自动同步分组、接口 - [创建用例&用例调试](#api_qiuck_add_case) - [创建任务&执行定时任务](#api_qiuck_add_task) - 功能详情 - [系统看板](#xitongkanban) - [项目管理](#api_project) - [分组管理](#api_group) - [接口管理](#api_api) - [用例管理](#api_case) - [用例参数详解](#api_case_detail) - [测试任务](#api_task) - [测试任务组](#api_task_group) - [测试报告](#api_testreport) - [定制功能-Yapi同步](#api_yapi) - [定制功能-AKSK验证](#api_aksk) - [MQTT测试](#MQTT) - [UI测试](#UI) - [报表测试](#RrpotForm)

# 平台简介 ## 1. 为什么实现平台化 - 摒弃传统手动测试阶段、代码框架管理阶段、直接进入可视化平台阶段。使即使不会代码的测试小伙伴也能轻松使用平台,实现自动化测试建设。 - 团队在平台共同协作,将测试用例、测试数据等质量过程资产归档落库留存,以便复用&流传; - 通过自动化运行降低测试人员的测试时间成本、人力成本,提高测试效率、测试准确率。在回归测试,冒烟测试等场景下效率显著。
### 2. 本平台接口测试优势 - 打通Yapi,支持Yapi项目接口一键同步到平台并生成初始化用例 - 丰富的用例功能,样例数据、断言、参数化、个性化前后置等操作 - 支持多用例串联集成场景化定时任务 - 支持多任务集成任务组,减少项目下多任务的繁琐管理 - 任务支持测试多套全局环境 - 报告支持发送至OA、邮箱,实现告警通知 - 支持接口AKSK鉴权 - 可通过任务接口打通devops平台
## 3、平台功能平铺图 ![](img/平台功能平铺图.jpg)
## 4、平台功能结构图 ![](img/自动化平测试台功能结构图.png)
### 5. 接口业务使用流程 ![](img/接口测试_使用流程.jpg)
### 6. 平台中单用例测试执行流程详解 ![](img/平台中单用例测试执行流程详解.jpg)
### 7. 平台中接口用例设计思想 - 1、用例设计维度: ① 一个接口 由多条用例 不同数据 验证不同的验证点(即断言) ② 一条用例 由多条断言 去支撑测试结论 ③ 一条用例 由多组数据 (样例数据)扩充用例的测试范围、支撑用例可靠性的强度 - 2、举例:新开发的登录接口 ① 接口多条用例:账号不可为空、密码不可为空、密码错误、禁用账户....     ② 一条用例多组数据:这10条密码应都错误     ③ 禁用账户用例设置断言接口状态码成功400、返回code400、用户状态为-1     - 3、一条用例不代表只发送一次请求,会发送(样例数据+全局变量)次 - 4、样例数据虽然有多组数据,但视为一条用例,其中一组数据失败则用例失败 # 基础通用功能 ### 一、登录、登出 #### 1. 登录 - 界面如下: ![](img/17.jpg) #### 2. 登出 - 点击页面右上方用户名按钮即可退出 - 界面如下: ![](img/2.jpg)

### 二、项目配置 #### 1、新增项目 ![](img2/1.jpg) #### 2、项目配置参数 ![](img2/33.jpg) - 必填: * 项目标题 * 可见用户:手动填写可见用户账号,用英文逗号分割,注意是测试平台人员账号 * 项目类型:一般填写接口项目 - 选填: * 描述 * 版本 * MQTT实例 * 同步yapi配置信息:Yapi host、Yapi 项目id、Yapi 项目token

### 三、全局环境 #### 1、全局环境 - 全局环境包含:全局域名、全局变量、全局请求头、全局cookie。 - 在接口测试、UI测试、MQTT测试的单用例&任务测试中都需要选择全局环境。 #### 2、全局域名 - 接口测试专用 ![](img/3.jpg) #### 3、全局变量 - 全局变量格式如下: ```json [ { "key": "参数名", "value": "参数值", "description": "参数描述", "enabled": false // 是否启用 }, { "key": "key", "value": "value", "description": "description", "enabled": false }, ...... ] ``` ![](img/4.jpg) #### 4、全局请求头 - 接口测试专用 - 全局域名格式如下: ```json { "key1": "value1", "key2": "value2", "key3": "value3", ...... } ``` ![](img/5.jpg) #### 5、全局cookies - 接口测试专用 - 全局域名格式如下: ```json { "key1": "value1", "key2": "value2", "key3": "value3", ...... } ``` ![](img/1.png)

### 四、参数化功能 - #### 参数化来源 1. 全局变量:通过全局变量中的参数 参数化用例中的变量 2. 前置操作:通过前置操作获取的参数 参数化用例中的变量 3. 变量方法:通过特定方法 参数化用例中的变量 - #### 参数化格式 1. 普通参数化格式:{{variable}} 可被参数化的项:请求地址、请求参数、请求体、请求头、请求cookies、样例数据、方法断言 ``` 使用示例: 当前全局变量中数据: [ { "key": "name", "value": "张三", "description": "姓名", "enabled": true }, { "key": "phone", "value": "13120009968", "description": "手机号", "enabled": true } ] 当前用例中请求体数据: { "name": "{{name}}", "phone": "{{phone}}" } 发送用例后,实际请求体数据: { "name": "张三", "phone": "13120009968" } ``` 2. 变量方法格式:{@xxx} ``` 变量方法: {@date}:当天日期:2021-04-12 {@date+n}:当天日期+n天 {@date+n}:当天日期-n天 {@timestamp}: 毫秒级时间戳:1618209388194 {@num}: 自增长int数字,从1开始 使用示例: 参数化前: { "key1": "{@date} {@date+1} {@date-2} {@date}", "key2": "{@timestamp} {@timestamp} {@timestamp}", "key3": "{@num} {@num} {@num} {@num}" } 参数化后: { "key1": "2021-04-17 2021-04-18 2021-04-15 2021-04-17", "key2": "1618630477124 1618630477124 1618630477124", "key3": "1 2 3 4" } ```

### 五、报告通知



# 接口自动化测试 ## 快速上手 - [新增项目](#api_qiuck_add_project) - [新增全局环境](#api_qiuck_add_env) - 新增全局域名 - 新增全局变量 - 新增全局请求头 - 新增全局cookies - [项目下创建分组、接口](#api_qiuck_add_group) - 手动创建分组、接口 - 使用yapi同步功能 自动同步分组、接口 - [创建用例&用例调试](#api_qiuck_add_case) - [创建任务&执行定时任务](#api_qiuck_add_task) #### 一、新增项目 - 1、新增项目 ![](img2/1.jpg) - 2、项目配置参数 - 必填: * 项目标题 * 可见用户:手动填写可见用户账号,用英文逗号分割,注意是测试平台人员账号 * 项目类型:一般填写接口项目 - 选填: * 描述 * 版本 * MQTT实例 * 同步yapi配置信息:Yapi host、Yapi 项目id、Yapi 项目token ![](img2/33.jpg)

#### 二、新增全局环境 - 位置 ![](img2/3.jpg) ##### 1、新增全局域名 - 点击全局域名后面的+号 ![](img2/4.jpg) - 填写标题、选择项目、填写域名(字符串格式、按需填写) - 域名示例:https://xxx-xxx.uat.xxx.com/ ![](img2/34.jpg) ##### 2、新增全局变量 - 点击全局变量后面的+号 - 填写标题、选择项目、填写变量(json中[]格式、按需填写) - 请求头示例: ``` json [ { "key": "cklphone", "description": "登录账号", "enabled": true, "value": [ "18681552452" ] }, { "key": "变量名称", "description": "变量描述", "enabled": true, //是否禁用此变量 "value": [ "20210801" // 变量值 ] } ... ] ``` ![](img2/6.jpg) ##### 3、新增全局请求头 - 点击全局请求头后面的+号 - 填写标题、选择项目、填写请求头内容(json中{}格式、按需填写) - 请求头示例: ``` json { "Authorization": "123456xxx", "Content-Type": "application/json" ... } ``` ![](img2/7.jpg) ##### 4、新增全局cookies - 点击全局cookies后面的+号 - 填写标题、选择项目、填写cookies内容(json中{}格式、按需填写) - cookies示例: ``` json { "token1": "79b134wIjoxNjY", "token2": "r7XWRtudJ-qI" ... } ``` ![](img2/8.jpg) ##### 5、保存 ![](img2/9.jpg) #### 三、项目下创建分组、接口 - 方式一、手动创建分组&接口 ![](img2/20.jpg) - 方式二、使用yapi同步功能自动创建分组&接口 详情查看文档 `Yapi同步功能` 部分内容 #### 四、创建用例&用例调试 - 1、创建分组&接口后,点击接口名称,进入接口用例管理界面 - 2、填写用例数据 ① 选择刚才创建的全局环境 ② 填写url ③ 填写请求参数或请求体 ④ 按需使用参数化: 示例中:调用全局变量参数: tenantId、account、password ⑤ 设计断言: 示例中: 1、验证状态码=200; 2、验证响应code=200 3、验证auth不为空 4、验证auth=123456(错误断言) ![](img2/22.jpg) ⑥ 将响应中userId数据取出,并放到全局变量命名为userId,以便后续接口调用全局变量 ⑦ 将响应中auth数据取出,并放到全局请求头中命名为Authorization,后续接口请求头中会自动添加Authorization ![](img2/25.jpg) ⑧ 发送请求调试用例:看到请求成功,并且调试断言直至符合需求即可 ![](img2/24.jpg) ![](img2/26.jpg) #### 五、创建任务&执行定时任务 - 1、测试任务中,添加任务 - ① 填写任务名称 - ② 测试类型选择:场景测试(目前只场景测试即可) - ③ 选择所属项目 - ④ 选择要运行的环境 - ⑤ 填写用例id:用例管理页面中会展示用例id ![](img2/27.jpg) - ⑥ 勾选要运行的环境: - ⑦ 选填定时表达式,六位:秒分时天月周:例子:0 17 8,13 * * 0-4 - ⑧ 配置报告接收 - ⑨ 保存即可 ![](img2/21.jpg) - 2 运行测试任务 ![](img2/28.jpg) - 执行完成后,从页面提示,或任务执行记录中查看执行详情 ![](img2/29.jpg) - 查看历史执行记录 ![](img2/30.jpg) - 查看执行详情 ![](img2/31.jpg) - 查看OA通知 ![](img2/36.jpg) - 填写定时任务并启动定时任务后,会定时执行任务

## 功能详情 ### 一. 系统看板 #### 1. 用例统计图 ![](img/统计图1.jpg) #### 2. 测试任务分布图 ![](img/统计图2.jpg) #### 3. 最近7天测试结果统计图 ![](img/统计图3.jpg) #### 4. 近七周用户新增用例统计 ![](img/统计图4.jpg) #### 5. 用户新增统计 ![](img/统计图5.jpg)

### 二. 项目管理 界面如下: ![](img/1.jpg) #### 1. 新增项目 > 按钮权限:仅超级管理员可见 > 新增后 项目只有创建者可见;添加可见用户格式: `zhangsan,lisi,wangwu` #### 2. 上传excel用例 1. 用例模板可从分组、接口中下载用例的excel文件作为模板使用。 2. excel数据格式 ① 项目名、分组名、接口名、接口描述、请求方式、用例状态、用例描述、请求地址 为 字符串格式 ② 入参-url参数、入参-请求体、样例数据、headers、cookies、断言、前置操作、响应设置全局变量 为 json格式 每个json格式参数具体json内容,下载用例后参照已有数据。 3. 上传逻辑: ① 没有查到项目名称 则自动创建此新项目 ② 没有查到分组名称 则在对应项目下创建分组 ③ 没有查到接口名称 则在对应分组下创建接口 ④ 没有查到用例名称 则在对应分组下创建用例 ⑤ 同接口下 已存在相同用例名称 则会更新 #### 3. 项目配置 > 按钮权限:仅超级管理员可见 > 可配置项目名称、描述、版本号、可见用户

### 三. 分组管理 界面如下: ![](img/7.jpg) #### 1. 新增分组 1. 点击【分组管理】 2. 输入 分组名称 3. 点击【新增】 #### 2. 编辑分组 1. 点击【分组管理】 2. 选择 要编辑的分组 3. 输入 新的分组名称 4. 点击【更新】 #### 3. 删除分组 1. 点击【分组管理】 2. 选择 要编辑的分组 3. 输入 新的分组名称 4. 点击【删除】 #### 下载用例 > 下载所选分组下所有接口下的所有用例信息。文件格式:excel,下载后可修改excel后使用【上传用例】功能 上传更新

### 四. 接口管理 界面如下: ![](img/7.jpg) #### 1. 新增接口 1. 点击【新增接口】 2. 选择 所属分组、请求方式、接口名称、接口描述 3. 点击【新增】 4. 即可在所选分组下新增接口 #### 2. 编辑接口 #### 3. 删除接口 #### 4. 下载接口用例 > 下载接口下所有用例信息。文件格式:excel,下载后可修改excel后使用【上传用例】功能 上传更新

### 五. 用例管理 界面如下: ![](img/8.jpg) #### 1. 新增用例 - 方法一:新增 1. 点击【清空】 2. 填写用例数据 3. 点击【保存】 4. 即可将页面上用例数据作为一个新用例 新增到当前接口下 - 方法二:另存 1. 选择已有用例 2. 在用例中修改参数 3. 点击【另保】 4. 即可将页面上新数据作为一个新用例 新增到当前接口下 #### 2. 更新用例 1. 选择要修改的用例 2. 在页面修改用例数据 3. 点击【更新】 4. 此用例更新成功 #### 3. 删除用例 1. 选择要修改的用例 2. 点击【删除】 3. 删除后会自动进入下一个用例 #### 4. 清空用例 清空用例:所有数据清空(只是在页面展示上清空用例数据),不会做保存操作

### 六. 用例参数详解 - #### 用例标题、用例描述、用例url地址 类型:字符串 - #### 请求参数:请求参数query & 请求体body - 请求参数query: 无论在get还是post请求中,都会把 键值对 拼接到地址中 - 请求体body: 在get请求方式中,拼接到地址中; 在post请求方式中,会作为单独的请求体; ![](img/请求参数.png) - #### 样例数据 样例数据的作用是 期望自己添加的数据都符合断言,会循环请求每一条数据,直到数据都循环完毕, 如果某条数据断言失败则停止循环,断言会显示此条数据的失败信息 为了方便添加样例数据,可以在excel中粘贴数据,在点击【excel与json互转】是粘贴数据转为json格式数据 首行为数据名称(用例参数格式化名称),后面的每一行都为实际的数据 ![](img/样例数据.png) - #### 断言 * 1、字段说明 | 项 | 说明 | | -------- | -----: | | 状态 | 为1代表启用,非1代表禁用,默认1 | | 变量路径 | 要取出的响应内容(python格式的取值写法格式) | | 断言方式 | 提供了一些封装好的方法,也可以选择最后一个方式自己写代码断言 | | 期望值 | 可以写str格式、json格式 | | 实际值 | 发送请求后可查看实际值 | | 断言结果 | 发送请求后可查看断言结果 | * 2、断言方式如下: ![](img/断言方式.png) * 3、部分断言方式实际使用示例: ![](img/断言实际使用示例.png) - #### 实际请求参数 发送请求后,所有变量 都会被全局变量、前置操作、样例数据 参数化后的实际值 测试人员可参考`实际请求参数` 调试优化所写的断言、前置、后置。 发送请求后可查看`实际请求参数` - #### 响应体 响应体:返送请求后展示响应的内容 发送请求后可查看`响应体` - #### 请求头 & 响应头 请求头:请求接口所用的请求头,正常填写即可 响应体:返送请求后展示响应的内容 发送请求后可查看`响应体` ![](img/9.jpg) - #### 前置操作 1、功能说明: 可以调用其他用例,并取出指定响应数据,放到全局变量中 2、字段详情: | 项 | 说明 | | -------- | -----: | | 状态 | 为1代表启用,非1代表禁用,默认1 | | 调用用例id | 已有用例id | | 设置参数名 | 为要取出的内容设置变量名 | | 参数键 | 要取出的响应内容(python格式的取值写法格式) | | 实际值 | 发送请求后可查看 | - #### 后置操作:响应体中的参数设置到全局变量 1、功能说明: 本次用例执行完毕之后 ,将响应体中的参数提取出来放到全局变量中 2、字段详情: | 项 | 说明 | | -------- | -----: | | 状态 | 为1代表启用,非1代表禁用,默认1 | | 变量名称 | 为要取出的内容设置变量名 | | 变量键 | 要取出的响应内容(python格式的取值写法格式) | | 实际值 | 响应体中对应的值(发送请求后可查看) | 3、使用示例: 1. 发送请求后得到响应体: ![](img/后置示例1.png) 2. ① 将响应体中的 ["code"] 设置到全局变量中(同名变量覆盖),并命名为code1 ② 将响应体中的 ["code"] 设置到全局变量中(同名变量追加),并命名为code2 ![](img/后置示例2.png) 3. 发送请求后,查看全局变量是否设置成功 ``` 此时全局变量值: [ { "key": "code1", "value": [ "200" ], "enabled": true, "description": "" }, { "key": "code2", "value": [ "200", ], "enabled": true, "description": "" } ] ``` 可以看到都设置成功 ![](img/后置示例3.png) - #### 后置操作:响应体中的参数设置到全局请求头 1、功能说明: 本次用例执行完毕之后 将相应体中的参数提取出来放到全局请求头中 具体操作同 [响应体中的参数设置到全局请求头] - #### 后置操作:响应cookies全部设置到当前全局cookies中 1、功能说明: 本次用例执行完毕之后 将本次响应cookies放到全局cookies中 - #### 后置操作:清空全局cookies 1、功能说明: 本次用例执行完毕之后 清空全局cookies - #### 自定义代码(前置、断言、后置) 0、功能说明: 在前置方法、断言方法、后置方法中无法完善用例时,可用自定义代码功能补充 自定义代码-前置:作用在发送请求之前 自定义代码-断言:作用在发送请求之后(偏重断言) 自定义代码-后置:作用在发送请求之后(偏重设置变量、请求头等) 1、自定义代码中可用的变量: ``` 原生模块:time、json 响应体:response 类型--> response.json()["code"] # 响应体变量在自定义前置操作中不可用 错误信息:error_msg = "" # 错误信息为空代表设置成功,不为空代表失败,初始为空 全局域名:global_host --> str 全局变量:global_variable --> [{}, {},....] 全局请求头:global_header --> {} 全局cookies:global_cookie --> {} 请求地址:url --> str 请求url参数:params --> {} 请求体:data --> {} 请求头:headers --> {} 请求cookies:cookies --> {} ``` 2、使用方法: ① 字符串str类型 只可修改: ``` 示例数据:args = "这是一段str字符串" 改:args = "这是一段str文字" # 直接赋值即可 ``` ② 字典{}类型 增删改: ``` 示例数据:args = {"key1": "value1"} 1、获取:xx = args["key1"] --> xx: value1 2、增:args["key2"] = "value2" --> args: {"key1": "value1", "key2": "value2"} 3、删:del["key1"] --> args: {} 4、改:args["key1"] = "new_value" --> args: {"key1": "new_value"} ``` ③ 全局变量比较特殊,使用以下为提供的方法增删改: ``` 示例数据 args: args = [ { "key":"示例key", "value":[ "示例value" ], "description":"示例描述", "enabled":true } ] 1、获取全局变量的值:xx = get_global_variable(key) v = get_global_variable("示例key") --> v: 示例value 2、添加或修改全局变量都使用这个方法:add_global_variable(key, value, desc) 修改:add_global_variable("示例key", "更新的值 必填", "更新的描述 选填") --> args: [ { "key":"示例key", "value":[ "更新的值 必填" ], "description":"更新的描述 选填", "enabled":true } ] 新增:add_global_variable("新的key", "新的key的值", "新的key的描述") --> args: [ { "key":"示例key", "value":[ "示例value" ], "description":"示例描述", "enabled":true }, { "key":"新的key", "value":[ "新的key的值" ], "description":"新的key的描述", "enabled":true } ] 3、删除某个全局变量:delete_global_variable(key) --> args: [] ``` ### 七. 测试任务 界面如下: ![](img/10.jpg) #### 1. 新增任务 界面如下: ![](img/11.jpg) > 全量测试: 测试范围:(`分组id`下所有接口 + `接口id`)去重后,所有接口下的用例,多线程执行用例 > 冒烟测试: 测试范围:(`分组id`下所有接口 + `接口id`)去重后,所有接口下的第二个用例(每个接口只测一条用例),多线程执行用例 > 场景测试: 测试范围:填写`用例id`,按顺序执行用例(只处理用例id,写分组id、接口id无效) > 选择项目: 在全量测试、冒烟测试情况下,可以在`测试分组id`中填写"all", 代表测试此项目下所有分组所有接口所有用例 > cron表达式: 6位的cron表达式(秒 分 时 天 月 周):例: 每小时定时执行:0 0 * * * * #### 2. 编辑任务 #### 3. 删除任务 #### 4. 开始定时任务/停止定时任务/查看正在进行中的任务 cron表达式为空,或者不符合规范时,会有错误提示。 #### 5. 执行记录 点击会跳转到报告列表页面,并且只展示此任务的执行报告记录。 #### 6. 详情 点击可查看任务详情,如果启动了此任务的定时任务,则会在详情中展示下次执行时间。

### 八. 任务组 界面如下: ![](img/12.jpg) > 把多个任务放到一起形成一个任务组,方便定时任务的统一管理和任务的复用 > 界面功能基本与测试任务一致

### 九. 测试报告 #### 1. 报告列表 界面如下: ![](img/13.jpg) #### 2. 报告详情 > ① 查看报告详情 ![](img/14.jpg) > ② 查看失败用例详情

### 十、Yapi同步功能 #### 1、配置项目信息 - 1、在yapi项目的设置中找到以下三条信息: * Yapi host:yapi域名,例:https://apidock.xxx.net(地址最后不要斜杠/) * Yapi 项目id:例:9999 * Yapi 项目token:例:abcdefg1234567890abcdefg ![](img2/15.jpg) - 在项目中配置yapi信息 - ![](img2/11.jpg) #### 2、同步yapi菜单&创建接口用例 - 进入项目后,点击【同步Yapi】-【立即同步】即可实现同步yapi菜单&接口,并自动创建一条初始化用例 ![](img2/12.jpg) - 如果有报错,会展示报错信息,没有报错展示统计信息 - ① 同步接口结果统计 ![](img2/13.jpg) - ② 新增接口后新增其下用例统计 ![](img2/14.jpg) #### 3、同步细则(了解即可) ``` yapi有分组,库里没有:新增分组、新增接口 yapi有分组,库里也有:更新(名称),并下探接口 1、yapi有,库里没有:新增 2、yapi有,库里也有:更新 3、yapi没有,库里有:提示“非yapi接口”,清空yapi_api_id yapi没分组,库里有:提示“非yapi分组”,清空 分组中yapi_group_id,和其下接口中yapi_api_id 新增接口后是否新增用例: 请求方式:GET: 新增用例 请求方式:POST: 如果请求数据类型为json: 新增用例 如果请求数据类型为file、raw、form: 不新增 请求方式:其他: 不新增 ```

### 十一、AKSK功能 #### 1、功能简介 AKSK:根据入参(请求头、请求体)、AK、SK 自动生成鉴权头authorization #### 2、使用限制 - 请求体body仅限{}格式 - 请求方式仅限 GET、POST #### 3、使用方法 - 1、接口启用AKSK: 新增或编辑时,勾选AKSK ![](img2/16.jpg) - 2、全局变量中配置access_key、secret_key 配置参考如下: ``` [ { "key": "access_key", "value": [ "xxxxxxx" ], "description": "", "enabled": true }, { "key": "secret_key", "value": [ "yyyyyyy" ], "description": "", "enabled": true } ] ``` - 3、用例中自动生成AKSK鉴权头authorization - 发送用例前:此时用例没有添加请求头authorization: ![](img2/18.jpg) - 发送用例后:实际发送请求后会自动添加authorization: ![](img2/19.jpg)



# UI测试 > 核心思想与功能用法基本与`接口测试`一致,大同小异,略

# MQTT测试 **使用前请先了解MQTT整体使用流程、单用例测试流程&参数详解,以便高效进行MQTT测试。** ## 1. 阿里云MQTT与自动化平台交互构架 ![](img/MQTT_构架图.jpg) ## 2. 界面展示 ![](img/mqtt_case.jpg) ## 3. 相关参数 ![](img/MQTT_所需参数.jpg) ## 4. 单用例测试流程与用例参数详解 ![](img/MQTT_单用例测试流程.jpg) ## 5. 功能使用 > 其他功能与`接口测试`使用思路基本一致,略

# 报表测试 > 定制化需求,略