第四:Apifox使用参数化、断言、提取变量

1.设置全局参数:全局参数主要是接口相关的cookie、headers

在这里插入图片描述

2.简单构造接口:headers\cookie都不需要在设置,通过全局变量设置

在这里插入图片描述

一.具体的实例进行相关自动化测试

1.DescribeInstances接口可以查询到实例列表中所有的实例

1.1.获取到一个一个参数:instanceid为一个数组:在这个接口中需要用到for each进行数组遍历

1.2.在for each中进行第2,3,4接口的执行

在这里插入图片描述

1.3.提取参数

在这里插入图片描述
在这里插入图片描述

1.3.1.这里容易出错,选择foreach中的

在这里插入图片描述

2.针对所有的实例进行密码修改操作
2.1.这里需要获取第1接口中的实例id

在这里插入图片描述

3.针对所有实例进行免密设置
4.针对所有的实例进行修改名称:断言这里以此处的为实例
4.1.断言操作:根据需要判断的内容进行断言
4.1.1.比方接口返回有status、msg、以及同样需要去查询修改后实例的名字是不是显示的正确
---code:0

在这里插入图片描述

---msg:这边不规范,没有提示msg,不用做
---修改完实例后,需要查询实例显示的名称是否正确

在这里插入图片描述

5.提取一个接口的返回作为变量供其他接口使用(比方其他接口进行获取后者判断)

在这里插入图片描述

二.遇到的问题

1.怎样提取接口的变量

2.断言的时候,提取出来['crs-indjdj']实际判断的时候不需要['']
2.1.默认获取到的是['crs-indjdj'],当选择“继续提取”的时候就可以达到预期

在这里插入图片描述

3.怎样让一个参数随机变化

在这里插入图片描述

4.foreach中的参数提取的时候,始终无法达到一个个的进行遍历,而是获取到了整个数组

在这里插入图片描述

### Apifox 中获取前置请求运行结果数据并进行断言Apifox 中,可以利用环境变量以及内置的 JavaScript 脚本来从前置请求的结果中读取数据用于后续的断言操作。具体来说,在执行前置接口之后,可以通过编写自定义脚本来解析响应体,并将所需的数据存储为全局或局部变量。 对于从前置步骤获得的数据,通常会通过 JSONPath 来定位特定路径下的值[^2]。一旦提取到了这些信息,则可以在当前测试用例里调用 `pm.expect` 或者类似的 API 完成验证逻辑[^3]。 下面是一个简单的例子来展示这一过程: 假设有一个前置接口 `/api/userInfo` 返回如下结构的信息: ```json [ { "id": 1, "name": "张三", "email": "zhangsan@example.com" } ] ``` 现在希望基于上述响应创建一个新的用户记录之前先确认该用户的邮箱地址是否已经存在于系统内。那么就可以按照以下方式设置: #### 设置前置条件(Pre-request Script) ```javascript // 使用JSONPath表达式获取上一步骤返回的第一个对象的名字属性作为临时变量 name1 var jsonData = pm.response.json(); let userName = jsonpath.query(jsonData, '$[0].name')[0]; pm.variables.set('userName', userName); ``` #### 编写断言语句 (Tests Tab) ```javascript const userEmail = pm.environment.get('userEmail'); // 如果是从环境变量获取的话 pm.test("Check Email Existence", function () { var jsonData = pm.response.json(); let emailList = jsonpath.query(jsonData, '$[*].email'); pm.expect(emailList).to.include(userEmail); }); ``` 在这个案例里面,首先是在前置条件下设置了名为 `userName` 的变量;接着在实际发送 POST 请求前进行了检查工作——即确保所提供的电子信箱确实存在于此列表之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢卡平头哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值