Apikit 自学日记:新建 API 请求

进入流程测试用例详情页,点击添加测试步骤,在下拉菜单中选择 添加API请求 ,系统会自动进入API测试步骤编辑页面,接下来你可以编辑API的请求参数、返回结果、校验规则等内容。

设置 API 测试步骤

API测试步骤设置分为以下几个部分:

  1. 测试步骤基本信息 :包括测试步骤名称、API请求地址、绑定的API文档等;

  2. API 请求参数:包括请求头部、请求体等内容;

  3. 提取的返回结果 :可以将测试结果进行提取,并传递给后续测试步骤使用。比如将登录的token传递给后续测试步骤进行登录校验。

  4. 校验规则 :包括请求头部校验规则、请求体校验。只有设置了测试步骤的校验规则之后,系统才会判断测试步骤是否执行成功。

  5. 其他设置 :包括请求超时限制、测试异常处理等。

设置 API 测试步骤基本信息

测试步骤名称

建议为每一步测试步骤起一个清晰的名称,测试步骤名称会显示在测试步骤列表中,方便你对测试用例进行管理。

API 请求地址

设置 API 测试的地址,建议只输入 API 地址的 Path 部分,Host 部分通过项目环境管理来设置。

比如:在测试环境中有一个 API 的请求地址是:abc.com/user/login

你可以在测试步骤的 API Path 中填写 /user/login,然后把 abc.com 写在项目环境中,这样能够方便你在多个测试环境中切换而不需要修改 API 测试步骤。

绑定 API 文档

你可以将 API 测试步骤绑定某一个 API 文档,当 API 文档发生变化时,你可以一键将 API 文档变化的内容同步到测试步骤中,减少维护测试用例的工作量。

点击绑定按钮,在弹窗中选择需要绑定的 API 文档,点击确定即可。

当API文档发生变化时,你可以在测试步骤的编辑页面点击同步按钮更新当前API测试步骤;

或者是测试用例详情页通过批量操作来更新多个API测试步骤。

常见问题:为什么不自动将API文档的变更同步到测试步骤中?

API自动化测试一般用于对较稳定的API进行测试,这些API一般是已经可用的。

但是API文档的变化一般比较快,当API文档发生变化时,此时新版本的API不一定已经是可用的,文档只是记录了新版本的API应该是什么样的而已。

如果将 API 文档的变化自动同步到自动化测试中,很可能会导致你的测试用例执行失败,并且你无法了解到底同步了什么内容。何况还有可能同时存在多个版本的API。

设置请求参数

填写测试用例请求参数和普通的 API 测试操作一样。

设置需要传递给后续测试步骤的数据

如果希望在测试步骤之间传递数据,比如将用户注册 API 返回的数据传递给用户登录 API,需要先定义好用户注册 API 的预期返回结果的格式,才能够将数据正确地传递给后续的用户登录 API。

在提取返回参数一栏中,你可以选择需要提取的返回头部或者返回结果。

比如现有 json 返回结果:{“user_info”:{“user_name”:”eolinker”,”user_password”:”123456”,”user_type”:”normal”}}希望提取返回结果中user_info对象里的user_type字段的值,并且传递给后续测试步骤使用,那么在提取返回结果一栏中选择返回数据类型为 json,json最外层为对象,在表格中填写需要提取的字段在返回结果中的位置即可:

在后续的测试步骤中,将鼠标放在参数输入框上方会出现 绑定参数 的按钮,点击 绑定参数 按钮,在弹窗中选择需要关联的测试步骤的数据即可:

设置校验规则

校验返回头部

返回头部支持以下校验选项:

校验方式 描述
存在性校验 判断是否存在该字段,如不存在则提示测试失败
值校验 判断返回内容与预设值是否相等,如不相等则提示测试失败

校验返回结果

API测试用例支持5种校验方式:

校验方式 描述
不校验 无论返回结果是什么,均认为测试通过
校验状态码 判断响应头部中的HTTP Status Code
校验 JSON 判断响应结果的JSON结构和参数值,可以判断对象、数组、字段等信息
校验 XML 判断响应结果的XML结构和参数值,可以判断对象、数组、字段等信息
完全匹配 判断响应结果是否等于预期结果
正则匹配 通过正则表达式去匹配响应结果,如果匹配的结果集不为空,则认为测试通过

存在性校验

当我们需要判断返回的头部/返回结果中的某个字段是否存在时,可以设置存在性校验来进行判断。

存在性校验 说明
是(默认) 判断是否存在该字段,如不存在则提示测试失败
不判断是否存在该字段

类型与类型校验

设置对参数的类型进行校验,返回结果的参数类型必须要等于预设的参数类型,否则提示测试失败。

内容校验

设置对字段值的判断条件,不同类型的字段可能会有不同的判断条件。

校验规则 符号 说明
不校验 [] 不校验返回内容,任何值均判断为正确
值-等于 [value = ] 返回结果的 值 必须要 等于 预期结果,否则提示测试失败
值-不等于 [value != ] 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败
值-大于 [value > ] 返回结果的 值 必须要 大于 预期结果,否则提示测试失败
值-小于 [value < ] 返回结果的 值 必须要 小于 预期结果,否则提示测试失败
值-包含 [include = ] 返回结果的 值 必须要 包含 预期结果,否则提示测试失败。比如预期结果为“hello”,实际返回结果为“hello world”,则测试结果正确。
值-不等于 [value != ] 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败
正则 [Reg = ] 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败
长度-等于 [length = ] 返回结果的 长度 必须要 等于 预期结果,否则提示测试失败
长度-不等于 [length != ] 返回结果的 长度 必须要 不等于 预期结果,否则提示测试失败
长度-大于 [length > ] 返回结果的 长度 必须要 大于 预期结果,否则提示测试失败
长度-小于 [length < ] 返回结果的 长度 必须要 小于 预期结果,否则提示测试失败

循环校验

对于数组类型(Array[])的返回参数,API 自动化测试平台 提供了循环校验的选项,开启该选项之后,API 自动化测试平台 会对数组内的所有元素进行校验,否则仅校验数组内的第一个元素。

例如:

有如下JSON数组,当a字段(红色部分)是一个数组类型的参数时,开启校验数组内元素后会对字段进行整体的循环校验。

猜你喜欢

转载自blog.csdn.net/qq_42107247/article/details/131540127