postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。
无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 。
那么接下来就介绍下postman到底有哪些功能,它们分别都能干些什么 。下面先通过一张图来直观的来看下postman中所包含的功能 。
1.常见类型的接口请求常见的接口有如下四种类型,分别是含有查询参数的接口,表单类型的接口,json类型的接口以及含有上传文件的接口,以下就对这四种类型接口及如何在postman中请求进行说明 。1.1 .查询参数的接口请求什么是查询参数?所谓的查询参数,其实就是URL地址中问号(?)后面的部分就叫查询参数,比如:http://cx.shouji.360.cn/phonearea.php?number=13012345678 。在这个接口中,查询参数就是:number=13012345678 。而这一部分是由有键值对组成,格式为:key1=value1&key2=value2, 如果有多组键值对,要用&隔开 。postman如何请求在postman中实现对这类接口请求非常简单,一般就需要明确俩个参数即可,一个是请求方法,一个请求地址。针对上面的那个接口,地址已经给出 ,而它的请求方法是get 。那么在postman中只需要把这俩个参数填写上即可请求 。具体实现步骤:1. 打开postman,新建一个请求。2. 在请求方法中选择请求方法:GET,因为在postman中默认的请求方法就是GET,所以这一步可以忽略3. 接口URL中输入地址,点击Send按钮就可以发送请求了 。1.2 表单类型的接口请求什么是表单 ?我们都知道,在发送HTTP请求的时候,一个请求中一般包含三个部分,分别是请求行,请求头,请求体 。不同的接口,请求体的数据类型是不一样的,比较常见的一种就是表单类型,那么什么是表单类型呢 ?简单理解就是在请求头中查看Content-Type,它的值如果是:application/x-www-form-urlencoded .那么就说明客户端提交的数据是以表单形式提交的 。见下图:1.3 上传文件的表单请求在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到:multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。它的请求报文中数据往往是下面这样的。代码语言:javascript复制POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1 Content-Type: multipart/form-data file=a1.jp这种类型的接口,在postman中该如何请求呢 ?我们先分析需要填写的参数 。请求方法:POST请求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html请求类型:multipart/form-data请求体:file=a1.jpg实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> form-data 。file中要选择File类型,然后上传本地的文件 。查看响应数据。代码语言:javascript复制POST http://xxx/api/sys/login HTTP/1.1 Content-Type: application/json;charset=UTF-8 {"account":"root","password":"123456"}根据以上报文,我们可以分析出,我们在postman只需要填写四个参数即可,具体如下:请求方法:POST请求地址:http://xxx/api/sys/login请求体类型:json请求体数据:{"account":"root","password":"123456"}实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> raw -JSON查看响应数据。2.接口响应数据解析响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响应头、响应体。我们来看下postman的响应数据展示。3. 接口管理(Collection)当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。先对Collection功能的使用场景做个简单总结 。用例分类管理,方便后期维护可以进行批量用例回归测试 。那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 « 2024年12月 » 一 二 三 四 五 六 日 1 2345678 9101112131415 16171819202122 23242526272829 3031 本站推荐小工具 MSDN ISO 磁力地址 版本1 MSDN ISO 磁力地址 版本2 Windows kms激活 Office kms激活 领淘宝优惠券 在线小工具 在线查IP |WhatIsMyIPAddress 在线下载测速 百家姓暗号 在线fc小游戏 圈住猫的游戏 2048的游戏 找色差小游戏 今天吃什么呢 毒鸡汤网页 在线查QQ价值 在线it-tools工具箱 在线it-tools工具箱(备站) 微软密钥在线检测 whois在线查询 开发者资源的宝库 城通网盘 宝塔服务器面板 阿里云特价VPS服务器 腾讯云特价VPS服务器 华为云特价VPS服务器 京东云特价VPS服务器 cloudcone特价VPS服务器 racknerd特价VPS服务器 恒创VPS特价服务器 简云免费虚拟云主机 控制面板 您好,欢迎到访网站!登录后台 查看权限 个人中心 修改密码 随心随性 沧海月明珠有泪,蓝田日暖玉生烟。 网站分类 技术文章 心情随笔 福利 play more Windows&office激活 虚拟化&超融合 Windows&windows server Linux Network 金蝶 VPS 网络实验室 青龙 docker Openwrt vpn 群晖Synology android 编程 SEO Jumpserver 怀旧 MACOS SQL Nginx HAProxy 未分类 搜索 最新留言 赞助本站50元,就给你找密码 还行,动动手,随意打个赏就完美了 我更新了哟,不可能找不到的哇。。。 好好好 天翼云的控制台没找到,pc应用端和网页端都是直接登录进去 有,有空找找,赞助一下,直接立马找给你 哦,好的 本文最先发表于 https://mmeiblog.cn/articles/2024/sakurapanel/使用 BY-NC-SA 协议分发, CSDN 上的文章使用 CC 4.0 BY-SA 协议分发,转载时请注明出处 链接全部失效,有备用的吗? 赞助本站50元,直接发链接和解压密码,谢谢 文章归档 2024年12月 (100) 2024年11月 (390) 2024年10月 (175) 2024年9月 (200) 2024年8月 (537) 2024年7月 (437) 2024年6月 (461) 2024年5月 (460) 2024年4月 (324) 2024年3月 (334) 2024年2月 (288) 2024年1月 (202) 2023年12月 (131) 2023年11月 (140) 2023年10月 (71) 2023年9月 (50) 2023年8月 (31) 2023年7月 (82) 2023年6月 (19) 2023年5月 (192) 2023年4月 (221) 2023年3月 (84) 2023年2月 (89) 2023年1月 (207) 2022年12月 (216) 2022年11月 (343) 2022年10月 (62) 2022年9月 (73) 2022年8月 (158) 2022年7月 (119) 2022年6月 (168) 2022年5月 (33) 2022年4月 (53) 2022年3月 (60) 2022年2月 (7) 2022年1月 (31) 2021年12月 (35) 2021年11月 (27) 2021年10月 (74) 2021年9月 (61) 2021年8月 (29) 2021年7月 (17) 2021年6月 (55) 2021年5月 (57) 2021年4月 (51) 2021年3月 (16) 2021年2月 (1) 2021年1月 (27) 2020年12月 (60) 2020年11月 (28) 2020年10月 (8) 2020年9月 (1) 2020年8月 (32) 2020年7月 (50) 2020年6月 (86) 2020年5月 (87) 2020年4月 (27) 2020年3月 (26) 2020年2月 (9) 2020年1月 (35) 2019年12月 (37) 2019年11月 (99) 2019年10月 (30) 2019年9月 (24) 2019年8月 (17) 2019年7月 (92) 2019年6月 (21) 2019年5月 (120) 2019年4月 (156) 2019年3月 (163) 2019年2月 (2) 2019年1月 (272) 网站收藏 一个和谐有爱的空间 友情链接 温柔如血 阳光明媚 在没有疯的日子 领淘宝优惠券 备站 分站 收录 收录 官码2024000195号 萌ICP备20248119号 请先 登录 再评论,若不是会员请先 注册! 您的IP地址是:
常见的接口有如下四种类型,分别是含有查询参数的接口,表单类型的接口,json类型的接口以及含有上传文件的接口,以下就对这四种类型接口及如何在postman中请求进行说明 。
什么是查询参数?
所谓的查询参数,其实就是URL地址中问号(?)后面的部分就叫查询参数,比如:http://cx.shouji.360.cn/phonearea.php?number=13012345678 。在这个接口中,查询参数就是:number=13012345678 。
而这一部分是由有键值对组成,格式为:key1=value1&key2=value2, 如果有多组键值对,要用&隔开 。
postman如何请求
在postman中实现对这类接口请求非常简单,一般就需要明确俩个参数即可,一个是请求方法,一个请求地址。
针对上面的那个接口,地址已经给出 ,而它的请求方法是get 。那么在postman中只需要把这俩个参数填写上即可请求 。
具体实现步骤:
1. 打开postman,新建一个请求。
2. 在请求方法中选择请求方法:GET,因为在postman中默认的请求方法就是GET,所以这一步可以忽略
3. 接口URL中输入地址,点击Send按钮就可以发送请求了 。
1.2 表单类型的接口请求什么是表单 ?我们都知道,在发送HTTP请求的时候,一个请求中一般包含三个部分,分别是请求行,请求头,请求体 。不同的接口,请求体的数据类型是不一样的,比较常见的一种就是表单类型,那么什么是表单类型呢 ?简单理解就是在请求头中查看Content-Type,它的值如果是:application/x-www-form-urlencoded .那么就说明客户端提交的数据是以表单形式提交的 。见下图:1.3 上传文件的表单请求在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到:multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。它的请求报文中数据往往是下面这样的。代码语言:javascript复制POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1 Content-Type: multipart/form-data file=a1.jp这种类型的接口,在postman中该如何请求呢 ?我们先分析需要填写的参数 。请求方法:POST请求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html请求类型:multipart/form-data请求体:file=a1.jpg实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> form-data 。file中要选择File类型,然后上传本地的文件 。查看响应数据。代码语言:javascript复制POST http://xxx/api/sys/login HTTP/1.1 Content-Type: application/json;charset=UTF-8 {"account":"root","password":"123456"}根据以上报文,我们可以分析出,我们在postman只需要填写四个参数即可,具体如下:请求方法:POST请求地址:http://xxx/api/sys/login请求体类型:json请求体数据:{"account":"root","password":"123456"}实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> raw -JSON查看响应数据。2.接口响应数据解析响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响应头、响应体。我们来看下postman的响应数据展示。3. 接口管理(Collection)当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。先对Collection功能的使用场景做个简单总结 。用例分类管理,方便后期维护可以进行批量用例回归测试 。那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 « 2024年12月 » 一 二 三 四 五 六 日 1 2345678 9101112131415 16171819202122 23242526272829 3031 本站推荐小工具 MSDN ISO 磁力地址 版本1 MSDN ISO 磁力地址 版本2 Windows kms激活 Office kms激活 领淘宝优惠券 在线小工具 在线查IP |WhatIsMyIPAddress 在线下载测速 百家姓暗号 在线fc小游戏 圈住猫的游戏 2048的游戏 找色差小游戏 今天吃什么呢 毒鸡汤网页 在线查QQ价值 在线it-tools工具箱 在线it-tools工具箱(备站) 微软密钥在线检测 whois在线查询 开发者资源的宝库 城通网盘 宝塔服务器面板 阿里云特价VPS服务器 腾讯云特价VPS服务器 华为云特价VPS服务器 京东云特价VPS服务器 cloudcone特价VPS服务器 racknerd特价VPS服务器 恒创VPS特价服务器 简云免费虚拟云主机 控制面板 您好,欢迎到访网站!登录后台 查看权限 个人中心 修改密码 随心随性 沧海月明珠有泪,蓝田日暖玉生烟。 网站分类 技术文章 心情随笔 福利 play more Windows&office激活 虚拟化&超融合 Windows&windows server Linux Network 金蝶 VPS 网络实验室 青龙 docker Openwrt vpn 群晖Synology android 编程 SEO Jumpserver 怀旧 MACOS SQL Nginx HAProxy 未分类 搜索 最新留言 赞助本站50元,就给你找密码 还行,动动手,随意打个赏就完美了 我更新了哟,不可能找不到的哇。。。 好好好 天翼云的控制台没找到,pc应用端和网页端都是直接登录进去 有,有空找找,赞助一下,直接立马找给你 哦,好的 本文最先发表于 https://mmeiblog.cn/articles/2024/sakurapanel/使用 BY-NC-SA 协议分发, CSDN 上的文章使用 CC 4.0 BY-SA 协议分发,转载时请注明出处 链接全部失效,有备用的吗? 赞助本站50元,直接发链接和解压密码,谢谢 文章归档 2024年12月 (100) 2024年11月 (390) 2024年10月 (175) 2024年9月 (200) 2024年8月 (537) 2024年7月 (437) 2024年6月 (461) 2024年5月 (460) 2024年4月 (324) 2024年3月 (334) 2024年2月 (288) 2024年1月 (202) 2023年12月 (131) 2023年11月 (140) 2023年10月 (71) 2023年9月 (50) 2023年8月 (31) 2023年7月 (82) 2023年6月 (19) 2023年5月 (192) 2023年4月 (221) 2023年3月 (84) 2023年2月 (89) 2023年1月 (207) 2022年12月 (216) 2022年11月 (343) 2022年10月 (62) 2022年9月 (73) 2022年8月 (158) 2022年7月 (119) 2022年6月 (168) 2022年5月 (33) 2022年4月 (53) 2022年3月 (60) 2022年2月 (7) 2022年1月 (31) 2021年12月 (35) 2021年11月 (27) 2021年10月 (74) 2021年9月 (61) 2021年8月 (29) 2021年7月 (17) 2021年6月 (55) 2021年5月 (57) 2021年4月 (51) 2021年3月 (16) 2021年2月 (1) 2021年1月 (27) 2020年12月 (60) 2020年11月 (28) 2020年10月 (8) 2020年9月 (1) 2020年8月 (32) 2020年7月 (50) 2020年6月 (86) 2020年5月 (87) 2020年4月 (27) 2020年3月 (26) 2020年2月 (9) 2020年1月 (35) 2019年12月 (37) 2019年11月 (99) 2019年10月 (30) 2019年9月 (24) 2019年8月 (17) 2019年7月 (92) 2019年6月 (21) 2019年5月 (120) 2019年4月 (156) 2019年3月 (163) 2019年2月 (2) 2019年1月 (272) 网站收藏 一个和谐有爱的空间 友情链接 温柔如血 阳光明媚 在没有疯的日子 领淘宝优惠券 备站 分站 收录 收录 官码2024000195号 萌ICP备20248119号 请先 登录 再评论,若不是会员请先 注册! 您的IP地址是:
什么是表单 ?
我们都知道,在发送HTTP请求的时候,一个请求中一般包含三个部分,分别是请求行,请求头,请求体 。
不同的接口,请求体的数据类型是不一样的,比较常见的一种就是表单类型,那么什么是表单类型呢 ?简单理解就是在请求头中查看Content-Type,它的值如果是:application/x-www-form-urlencoded .那么就说明客户端提交的数据是以表单形式提交的 。见下图:
1.3 上传文件的表单请求在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到:multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。它的请求报文中数据往往是下面这样的。代码语言:javascript复制POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1 Content-Type: multipart/form-data file=a1.jp这种类型的接口,在postman中该如何请求呢 ?我们先分析需要填写的参数 。请求方法:POST请求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html请求类型:multipart/form-data请求体:file=a1.jpg实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> form-data 。file中要选择File类型,然后上传本地的文件 。查看响应数据。代码语言:javascript复制POST http://xxx/api/sys/login HTTP/1.1 Content-Type: application/json;charset=UTF-8 {"account":"root","password":"123456"}根据以上报文,我们可以分析出,我们在postman只需要填写四个参数即可,具体如下:请求方法:POST请求地址:http://xxx/api/sys/login请求体类型:json请求体数据:{"account":"root","password":"123456"}实现步骤:打开postman,新建一个请求 。在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> raw -JSON查看响应数据。2.接口响应数据解析响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响应头、响应体。我们来看下postman的响应数据展示。3. 接口管理(Collection)当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。先对Collection功能的使用场景做个简单总结 。用例分类管理,方便后期维护可以进行批量用例回归测试 。那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 « 2024年12月 » 一 二 三 四 五 六 日 1 2345678 9101112131415 16171819202122 23242526272829 3031 本站推荐小工具 MSDN ISO 磁力地址 版本1 MSDN ISO 磁力地址 版本2 Windows kms激活 Office kms激活 领淘宝优惠券 在线小工具 在线查IP |WhatIsMyIPAddress 在线下载测速 百家姓暗号 在线fc小游戏 圈住猫的游戏 2048的游戏 找色差小游戏 今天吃什么呢 毒鸡汤网页 在线查QQ价值 在线it-tools工具箱 在线it-tools工具箱(备站) 微软密钥在线检测 whois在线查询 开发者资源的宝库 城通网盘 宝塔服务器面板 阿里云特价VPS服务器 腾讯云特价VPS服务器 华为云特价VPS服务器 京东云特价VPS服务器 cloudcone特价VPS服务器 racknerd特价VPS服务器 恒创VPS特价服务器 简云免费虚拟云主机 控制面板 您好,欢迎到访网站!登录后台 查看权限 个人中心 修改密码 随心随性 沧海月明珠有泪,蓝田日暖玉生烟。 网站分类 技术文章 心情随笔 福利 play more Windows&office激活 虚拟化&超融合 Windows&windows server Linux Network 金蝶 VPS 网络实验室 青龙 docker Openwrt vpn 群晖Synology android 编程 SEO Jumpserver 怀旧 MACOS SQL Nginx HAProxy 未分类 搜索 最新留言 赞助本站50元,就给你找密码 还行,动动手,随意打个赏就完美了 我更新了哟,不可能找不到的哇。。。 好好好 天翼云的控制台没找到,pc应用端和网页端都是直接登录进去 有,有空找找,赞助一下,直接立马找给你 哦,好的 本文最先发表于 https://mmeiblog.cn/articles/2024/sakurapanel/使用 BY-NC-SA 协议分发, CSDN 上的文章使用 CC 4.0 BY-SA 协议分发,转载时请注明出处 链接全部失效,有备用的吗? 赞助本站50元,直接发链接和解压密码,谢谢 文章归档 2024年12月 (100) 2024年11月 (390) 2024年10月 (175) 2024年9月 (200) 2024年8月 (537) 2024年7月 (437) 2024年6月 (461) 2024年5月 (460) 2024年4月 (324) 2024年3月 (334) 2024年2月 (288) 2024年1月 (202) 2023年12月 (131) 2023年11月 (140) 2023年10月 (71) 2023年9月 (50) 2023年8月 (31) 2023年7月 (82) 2023年6月 (19) 2023年5月 (192) 2023年4月 (221) 2023年3月 (84) 2023年2月 (89) 2023年1月 (207) 2022年12月 (216) 2022年11月 (343) 2022年10月 (62) 2022年9月 (73) 2022年8月 (158) 2022年7月 (119) 2022年6月 (168) 2022年5月 (33) 2022年4月 (53) 2022年3月 (60) 2022年2月 (7) 2022年1月 (31) 2021年12月 (35) 2021年11月 (27) 2021年10月 (74) 2021年9月 (61) 2021年8月 (29) 2021年7月 (17) 2021年6月 (55) 2021年5月 (57) 2021年4月 (51) 2021年3月 (16) 2021年2月 (1) 2021年1月 (27) 2020年12月 (60) 2020年11月 (28) 2020年10月 (8) 2020年9月 (1) 2020年8月 (32) 2020年7月 (50) 2020年6月 (86) 2020年5月 (87) 2020年4月 (27) 2020年3月 (26) 2020年2月 (9) 2020年1月 (35) 2019年12月 (37) 2019年11月 (99) 2019年10月 (30) 2019年9月 (24) 2019年8月 (17) 2019年7月 (92) 2019年6月 (21) 2019年5月 (120) 2019年4月 (156) 2019年3月 (163) 2019年2月 (2) 2019年1月 (272) 网站收藏 一个和谐有爱的空间 友情链接 温柔如血 阳光明媚 在没有疯的日子 领淘宝优惠券 备站 分站 收录 收录 官码2024000195号 萌ICP备20248119号 请先 登录 再评论,若不是会员请先 注册! 您的IP地址是:
在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到:multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。它的请求报文中数据往往是下面这样的。
POST http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html HTTP/1.1 Content-Type: multipart/form-data file=a1.jp
这种类型的接口,在postman中该如何请求呢 ?我们先分析需要填写的参数 。
请求方法:POST
请求URL:http://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html
请求类型:multipart/form-data
请求体:file=a1.jpg
实现步骤:
打开postman,新建一个请求 。
在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> form-data 。file中要选择File类型,然后上传本地的文件 。
查看响应数据。
代码语言:javascript复制POST http://xxx/api/sys/login HTTP/1.1 Content-Type: application/json;charset=UTF-8 {"account":"root","password":"123456"}
POST http://xxx/api/sys/login HTTP/1.1 Content-Type: application/json;charset=UTF-8 {"account":"root","password":"123456"}
根据以上报文,我们可以分析出,我们在postman只需要填写四个参数即可,具体如下:
请求地址:http://xxx/api/sys/login
请求体类型:json
请求体数据:{"account":"root","password":"123456"}
在请求中设置以上四个参数,点击Send按钮。注意:在postman中设置请求体类型,需要选择body-> raw -JSON
2.接口响应数据解析响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响应头、响应体。我们来看下postman的响应数据展示。3. 接口管理(Collection)当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。先对Collection功能的使用场景做个简单总结 。用例分类管理,方便后期维护可以进行批量用例回归测试 。那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 « 2024年12月 » 一 二 三 四 五 六 日 1 2345678 9101112131415 16171819202122 23242526272829 3031 本站推荐小工具 MSDN ISO 磁力地址 版本1 MSDN ISO 磁力地址 版本2 Windows kms激活 Office kms激活 领淘宝优惠券 在线小工具 在线查IP |WhatIsMyIPAddress 在线下载测速 百家姓暗号 在线fc小游戏 圈住猫的游戏 2048的游戏 找色差小游戏 今天吃什么呢 毒鸡汤网页 在线查QQ价值 在线it-tools工具箱 在线it-tools工具箱(备站) 微软密钥在线检测 whois在线查询 开发者资源的宝库 城通网盘 宝塔服务器面板 阿里云特价VPS服务器 腾讯云特价VPS服务器 华为云特价VPS服务器 京东云特价VPS服务器 cloudcone特价VPS服务器 racknerd特价VPS服务器 恒创VPS特价服务器 简云免费虚拟云主机 控制面板 您好,欢迎到访网站!登录后台 查看权限 个人中心 修改密码 随心随性 沧海月明珠有泪,蓝田日暖玉生烟。 网站分类 技术文章 心情随笔 福利 play more Windows&office激活 虚拟化&超融合 Windows&windows server Linux Network 金蝶 VPS 网络实验室 青龙 docker Openwrt vpn 群晖Synology android 编程 SEO Jumpserver 怀旧 MACOS SQL Nginx HAProxy 未分类 搜索 最新留言 赞助本站50元,就给你找密码 还行,动动手,随意打个赏就完美了 我更新了哟,不可能找不到的哇。。。 好好好 天翼云的控制台没找到,pc应用端和网页端都是直接登录进去 有,有空找找,赞助一下,直接立马找给你 哦,好的 本文最先发表于 https://mmeiblog.cn/articles/2024/sakurapanel/使用 BY-NC-SA 协议分发, CSDN 上的文章使用 CC 4.0 BY-SA 协议分发,转载时请注明出处 链接全部失效,有备用的吗? 赞助本站50元,直接发链接和解压密码,谢谢 文章归档 2024年12月 (100) 2024年11月 (390) 2024年10月 (175) 2024年9月 (200) 2024年8月 (537) 2024年7月 (437) 2024年6月 (461) 2024年5月 (460) 2024年4月 (324) 2024年3月 (334) 2024年2月 (288) 2024年1月 (202) 2023年12月 (131) 2023年11月 (140) 2023年10月 (71) 2023年9月 (50) 2023年8月 (31) 2023年7月 (82) 2023年6月 (19) 2023年5月 (192) 2023年4月 (221) 2023年3月 (84) 2023年2月 (89) 2023年1月 (207) 2022年12月 (216) 2022年11月 (343) 2022年10月 (62) 2022年9月 (73) 2022年8月 (158) 2022年7月 (119) 2022年6月 (168) 2022年5月 (33) 2022年4月 (53) 2022年3月 (60) 2022年2月 (7) 2022年1月 (31) 2021年12月 (35) 2021年11月 (27) 2021年10月 (74) 2021年9月 (61) 2021年8月 (29) 2021年7月 (17) 2021年6月 (55) 2021年5月 (57) 2021年4月 (51) 2021年3月 (16) 2021年2月 (1) 2021年1月 (27) 2020年12月 (60) 2020年11月 (28) 2020年10月 (8) 2020年9月 (1) 2020年8月 (32) 2020年7月 (50) 2020年6月 (86) 2020年5月 (87) 2020年4月 (27) 2020年3月 (26) 2020年2月 (9) 2020年1月 (35) 2019年12月 (37) 2019年11月 (99) 2019年10月 (30) 2019年9月 (24) 2019年8月 (17) 2019年7月 (92) 2019年6月 (21) 2019年5月 (120) 2019年4月 (156) 2019年3月 (163) 2019年2月 (2) 2019年1月 (272) 网站收藏 一个和谐有爱的空间 友情链接 温柔如血 阳光明媚 在没有疯的日子 领淘宝优惠券 备站 分站 收录 收录 官码2024000195号 萌ICP备20248119号 请先 登录 再评论,若不是会员请先 注册! 您的IP地址是:
响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响应头、响应体。我们来看下postman的响应数据展示。
3. 接口管理(Collection)当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。先对Collection功能的使用场景做个简单总结 。用例分类管理,方便后期维护可以进行批量用例回归测试 。那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 « 2024年12月 » 一 二 三 四 五 六 日 1 2345678 9101112131415 16171819202122 23242526272829 3031 本站推荐小工具 MSDN ISO 磁力地址 版本1 MSDN ISO 磁力地址 版本2 Windows kms激活 Office kms激活 领淘宝优惠券 在线小工具 在线查IP |WhatIsMyIPAddress 在线下载测速 百家姓暗号 在线fc小游戏 圈住猫的游戏 2048的游戏 找色差小游戏 今天吃什么呢 毒鸡汤网页 在线查QQ价值 在线it-tools工具箱 在线it-tools工具箱(备站) 微软密钥在线检测 whois在线查询 开发者资源的宝库 城通网盘 宝塔服务器面板 阿里云特价VPS服务器 腾讯云特价VPS服务器 华为云特价VPS服务器 京东云特价VPS服务器 cloudcone特价VPS服务器 racknerd特价VPS服务器 恒创VPS特价服务器 简云免费虚拟云主机 控制面板 您好,欢迎到访网站!登录后台 查看权限 个人中心 修改密码 随心随性 沧海月明珠有泪,蓝田日暖玉生烟。 网站分类 技术文章 心情随笔 福利 play more Windows&office激活 虚拟化&超融合 Windows&windows server Linux Network 金蝶 VPS 网络实验室 青龙 docker Openwrt vpn 群晖Synology android 编程 SEO Jumpserver 怀旧 MACOS SQL Nginx HAProxy 未分类 搜索 最新留言 赞助本站50元,就给你找密码 还行,动动手,随意打个赏就完美了 我更新了哟,不可能找不到的哇。。。 好好好 天翼云的控制台没找到,pc应用端和网页端都是直接登录进去 有,有空找找,赞助一下,直接立马找给你 哦,好的 本文最先发表于 https://mmeiblog.cn/articles/2024/sakurapanel/使用 BY-NC-SA 协议分发, CSDN 上的文章使用 CC 4.0 BY-SA 协议分发,转载时请注明出处 链接全部失效,有备用的吗? 赞助本站50元,直接发链接和解压密码,谢谢 文章归档 2024年12月 (100) 2024年11月 (390) 2024年10月 (175) 2024年9月 (200) 2024年8月 (537) 2024年7月 (437) 2024年6月 (461) 2024年5月 (460) 2024年4月 (324) 2024年3月 (334) 2024年2月 (288) 2024年1月 (202) 2023年12月 (131) 2023年11月 (140) 2023年10月 (71) 2023年9月 (50) 2023年8月 (31) 2023年7月 (82) 2023年6月 (19) 2023年5月 (192) 2023年4月 (221) 2023年3月 (84) 2023年2月 (89) 2023年1月 (207) 2022年12月 (216) 2022年11月 (343) 2022年10月 (62) 2022年9月 (73) 2022年8月 (158) 2022年7月 (119) 2022年6月 (168) 2022年5月 (33) 2022年4月 (53) 2022年3月 (60) 2022年2月 (7) 2022年1月 (31) 2021年12月 (35) 2021年11月 (27) 2021年10月 (74) 2021年9月 (61) 2021年8月 (29) 2021年7月 (17) 2021年6月 (55) 2021年5月 (57) 2021年4月 (51) 2021年3月 (16) 2021年2月 (1) 2021年1月 (27) 2020年12月 (60) 2020年11月 (28) 2020年10月 (8) 2020年9月 (1) 2020年8月 (32) 2020年7月 (50) 2020年6月 (86) 2020年5月 (87) 2020年4月 (27) 2020年3月 (26) 2020年2月 (9) 2020年1月 (35) 2019年12月 (37) 2019年11月 (99) 2019年10月 (30) 2019年9月 (24) 2019年8月 (17) 2019年7月 (92) 2019年6月 (21) 2019年5月 (120) 2019年4月 (156) 2019年3月 (163) 2019年2月 (2) 2019年1月 (272) 网站收藏 一个和谐有爱的空间 友情链接 温柔如血 阳光明媚 在没有疯的日子 领淘宝优惠券 备站 分站 收录 收录 官码2024000195号 萌ICP备20248119号 请先 登录 再评论,若不是会员请先 注册! 您的IP地址是:
当我们对一个或多个系统中的很多用例进行维护时,首先想到的就是对用例进行分类管理,同时还希望对这批用例做回归测试 。在postman也提供了这样一个功能,就是Collection 。通过这个Collection就可以满足我们的上面说的需求。
先对Collection功能的使用场景做个简单总结 。
用例分类管理,方便后期维护
可以进行批量用例回归测试 。
那么Collection是如何去管理用例的呢 ?先想象我们要测试一个系统,系统下有多个模块,每个模块下有很多的被测接口用例 。那么基于这个场景,我们来通过Collection来进行实现:
1. 点击Collection,点击+New Collection,在弹出的输入框中输入Collection名称(这个就可以理解为所测试的系统)
5.日志调试在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });断言状态消息:Status code:code name has string代码语言:javascript复制pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });响应头中的断言断言响应头中包含:Response headers:Content-Type header check代码语言:javascript复制pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });断言响应体(重点)代码语言:javascript复制断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较响应时间(一般用于性能测试)断言响应时间:Response time is less than 200ms代码语言:javascript复制pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });代码语言:javascript复制案例说明:针对以下接口返回的数据进行断言:代码语言:javascript复制{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }断言响应状态码为200断言city等于济南断言update_time包含2020-04-178. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0 « 上一篇 下一篇 » 发表评论:取消回复 名称(*) 邮箱 网址 验证码(*) 正文(*) ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。
在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log("我是一条日志")
代码语言:javascript复制pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });
pm.test("Status code is 200", function () { pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果 });
断言状态消息:Status code:code name has string
pm.test("Status code name has string", function () { pm.response.to.have.status("OK"); //断言响应状态消息包含OK });
响应头中的断言
断言响应头中包含:Response headers:Content-Type header check
pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type" });
断言响应体(重点)
断言响应体中包含XXX字符串:Response body:Contains string pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); //注解 pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string 断言响应体等于XXX字符串:Response body : is equal to a string pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //注解 pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string断言响应体(json)中某个键名对应的值:Response body : JSON value check pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); //注解 var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错 pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较
响应时间(一般用于性能测试)
断言响应时间:Response time is less than 200ms
pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms });
案例说明:
针对以下接口返回的数据进行断言:
{ "cityid": "101120101", "city": "济南", "update_time": "2020-04-17 10:50", "wea": "晴", "wea_img": "qing", "tem": "16", "tem_day": "20", "tem_night": "9", "win": "东北风", "win_speed": "3级", "win_meter": "小于12km/h", "air": "113" }
断言响应状态码为200
断言city等于济南
断言update_time包含2020-04-17
8. 请求前置脚本前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。接下来通过一个案例来看下该功能是如何使用 ?案例:请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }而图像预览接口URL为:http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。实现步骤:获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]案例3:列表中取最后一个元素代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },代码语言:javascript复制//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0] 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 分享到: 打赏微信支付宝扫一扫,打赏作者吧~ 休息一下~~ 作者:hqy | 分类:编程 | 浏览:195 | 评论:0
前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本,想要了解这个功能,需要先了解它的执行顺序。那么下面就来看下它的执行顺序 。
可以看出,一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。那么这个功能在实际工作中有什么作用呢 ?
主要场景:一般情况下,在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。
总体来说,就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。
接下来通过一个案例来看下该功能是如何使用 ?
案例:
请求的登录接口URL,参数t的值要求的规则是每次请求都必须是一个随机数。
接口地址:http://localhost/index.php?m=Home&c=User&a=do_login&t=0.7102045930338428
代码语言:javascript复制{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }
{ "url": "/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg", "title": "banner", "original": "", "state": "SUCCESS", "path": "images" }
而图像预览接口URL为:
http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg 。可以看出这个接口的URL后半部分其实是上一个接口返回的url的值 。那么这俩个接口就产生了关联。那么在postman 可以通过以下三步完成这俩个接口的关联实现 。
获取上传头像接口返回url的值
将这个值保存成全局变量(环境变量也可以)
在图像预览中使用全局变量
代码语言:javascript复制{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]
{ "code": 0, "message": "请求成功!", "data": { "user_id": "1252163151781167104" } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过.获取 var user_id = jsonData.data.user_id 案例2:json中存在列表,获取points中的第二个元素{ "code": 0, "message": "请求成功!", "data": { "roles": { "api": [ "API-USER-DELETE" ], "points": [ "point-user-delete", "POINT-USER-UPDATE", "POINT-USER-ADD" ] }, "authCache": null } }//获取json体数据 var jsonData = pm.response.json() // 获取user_id的值,通过下标获取列表中某个元素 var user_id = jsonData.data.roles.points[1]
案例3:列表中取最后一个元素
{ "code": 0, "message": "请求成功!", "data": { "total": 24, "rows": [ { "id": "1066370498633486336", "mobile": "15812340003", "username": "zbz" }, { "id": "1071632760222810112", "mobile": "16612094236", "username": "llx" }, ... { "id": "1075383133106425856", "mobile": "13523679872", "username": "test001", },
//获取json体数据 var jsonData = pm.response.json() // 获取id的值,通过slice(-1)获取列表中最后一个元素。 var id = jsonData.data.rows.slice(-1)[0]
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6624.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~
名称(*)
邮箱
网址
验证码(*)
正文(*)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
沧海月明珠有泪,蓝田日暖玉生烟。
您的IP地址是: