day11 postman接口测试

界面功能介绍

 postman日常操作

全局变量的使用(Globals)

描述:通常情况下,我们共同使用的部分可以存放在全部变量里,调用的时候只需要{{变量名}}即可,适用全部的接口比如:手机号归属地和天气查询

 环境变量的使用(Environment variables)

描述:公司中不同的环境,配置不同环境的数据,调用的时候只需要{{变量名}}即可,适用当前环境的接口比如不同域名的(公司内部不同的ip)

 接口关联的方式:json提取器

 

 json提取

//返回值转成json对象

varjsondata=pm.response.json()console.log(jsondata)

//通过json表达式提取值

vardoer=jsondata.result.cityconsole.log(doer)

//设置全局变量

pm.globals.set("cs",doer);  

第二种json提取方式

//获取响应体的文本内容

varresbody=responseBody;console.log(resbody)

//转成json对象

varjsonobj=JSON.parse(responseBody)

//通过json表达式提取值

varpro=jsonobj.result.provincepm.globals.set("prodes",pro); 

具体话术

将第一个接口设置断言,拿到返回体内容转成json对象,通过json表达式提取想要的值,将这个值设置全局变量,在第二个接口中使用{{变量名}}代替,实现接口关联

 断言描述:

经常用于预期结果和实际结果的对比

动态参数

描述:经常用于参数不能重复的数据

{{$timestamp}}:生成当前时间的时间戳

{{$randomInt}}:生成0~1000的随机数

{{$guid}}:生成随机的guid字符串

 用例的批量执行

描述:接口中的批量运行

数据驱动

述:将测试数据保存本地,一次性进行运行在参数里面的数据文件值和取全局变量一致,使用{{}},在断言里面取数据文件的值使用:data.字段名

 

 

### 如何在 Postman 中配置并测试天气 API 接口 #### 配置请求 在 Postman 的界面中,于 **请求方法下拉菜单** 处选择 `GET` 方法,并在 URL 输入框中填写目标 API 的地址。例如,如果需要调用一个公开的天气 API 获取北京的实时天气信息,则可以设置如下 URL 地址: ```plaintext https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=beijing ``` 在此过程中,请务必替换占位符 `YOUR_API_KEY` 为实际有效的 API 密钥[^1]。 #### 设置请求参数 对于上述示例中的 GET 请求,主要涉及两个查询参数: - 参数名:`key` 描述:用于身份验证的 API 密钥。 - 参数名:`q` 描述:指定地理位置名称或城市名称(此处为“beijing”)。 这些参数可以直接附加到 URL 中作为查询字符串的一部分,或者通过 Postman 的 **Params** 标签页手动添加键值对形式的参数[^2]。 #### 执行请求与观察响应 点击发送按钮后,Postman 将向服务器发起 HTTP 请求,并接收返回的数据。正常情况下,成功的响应会携带状态码 `200 OK` 和 JSON 格式的天气数据。以下是可能接收到的部分结构化响应内容示例: ```json { "location": { "name": "Beijing", "region": "", "country": "China" }, "current": { "temp_c": 28.0, "condition": { "text": "Partly cloudy", "icon": "//cdn.weatherapi.com/weather/64x64/day/116.png" } } } ``` 解析此 JSON 数据即可提取所需的天气详情,比如温度 (`temp_c`) 或天气状况描述 (`condition.text`) 等字段。 #### 编写接口测试用例 为了全面覆盖各种场景下的行为表现,在设计针对该天气 API 的测试用例时可考虑以下几个方面: - 测试当未提供必要参数 (如缺少 `key` 或者 `q`) 是否能够正确处理错误情况; - 对非法字符、过长字符串或者其他不符合预期类型的输入做边界条件检测; - 如果存在分页机制或其他高级选项的话也需纳入考量范围之内; 利用 Postman 自带的功能模块来定义断言规则从而自动化校验每次运行后的结果准确性是非常推荐的做法之一。 ```javascript pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Response has location name Beijing", function () { var jsonData = pm.response.json(); pm.expect(jsonData.location.name).to.eql('Beijing'); }); ``` 以上脚本片段展示了如何基于 JavaScript 构建简单的单元测试逻辑以确认服务端反馈满足既定标准的要求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值