Apifox写接口自动化测试用例总结-1

最近决定用Apifox写接口自动化测试用例,于是研究了这个工具的具体实践,下面把最近实践过程中遇到的问题和解决方案进行总结,方便回看。

Apifox它是集:接口文档管理、接口调试、Mock、接口自动化测试于一体的全流程集成工具,覆盖从开发->测试->管理等环节,等同于 Postman + Swagger + Mock + JMeter几款工具功能累加。

下面从以下几个方面来进行总结:
1json path语法及使用
2.参数化使用
3.结果验证

1.1Json path介绍

  • JSONPath 之于 JSON,就如 XPath 之于 XML。
  • JsonPath 是设计来作为 JSON 的路径语言,用于确定 JSON 文档中某部分位置的语言。
  • JSONPath 可以方便对 JSON 数据结构进行内容提取。
  • JsonPath 将 JSON 数据转换为 DOM 树状结构,并提供在数据结构树种寻找节点的能力。

1.2.Json path语法

JsonPath语法要点:
$ 表示文档的根元素
@ 表示文档的当前元素
.node_name 或 ['node_name'] 匹配下级节点
[index] 检索数组中的元素
[start:end:step] 支持数组切片语法
** 作为通配符,匹配所有成员**
.. 子递归通配符,匹配成员的所有子元素
() 使用表达式
?()进行数据筛选

1.3.Json path使用

直接从返回结果中获取第一个元素


image.png

image.png

从返回结果中获取iata=3Q的子节点中的id号


image.png

image.png

2.如何参数化

1.用两个{}的形式来传参,如{{flightId}}
2.如果提取变量是列表形式,可以取其中某一个,如{{flightId[0]}}
3.可以选择右侧的“魔法棒”动态值来选择变量/常量或动态变量


image.png

3.结果验证

3.1返回结果验证

  • 状态码验证(根据实际情况选择响应码,如200或400)
  • 内容格式验证(一般返回是json格式,也可能是其他,根据实际情况选择)
  • 根节点验证(如果不想做校验,选择any即可)


    image.png

3.2添加断言

  • 响应内容为字符串,断言对象中选择 Response Text


    image.png
  • 响应内容为json,断言对象选择Response json


    image.png
  • 断言内容为变量,断言对应选择Response xml


    image.png
  • 如果以上都无法满足,使用自定义脚本添加断言


    image.png

你可能感兴趣的:(Apifox写接口自动化测试用例总结-1)