| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> POSTMAN参数化和断言一些理解 -> 正文阅读 |
|
[开发测试]POSTMAN参数化和断言一些理解 |
这一段时间使用POSTMAN比较多,有些经验、踩过的坑和大家分享下,写的比较浅希望大家不要笑 话。说的错误希望大家可以指出,帮助我们一起前进。 首先,postman如何做接口测试就不写在里面了,有问题的欢迎大家找我讨论。 本文档主要讲如下方面 1.一些断言的使用; 2.参数化的运用; 3.通过参数化和断言参数化来用postman进行接口自动化。 1.一些断言的使用 ? 可以看到红框中的Tests命令这里就是设置断言的位置这里我设置的断言分别是右边默认断言中的判断返回码和判断json值的断言。 箭头1所写代码 //判断返回状态码是否为200 // "//"是postman的注释方式 pm.test( "Status?code?is?200" //这是断言判断结束后给我们看的部分 ,?function?()?//表示功能,但是我没用过 { ????pm.response.to.have.status(200); //这句话表示返回码含200 }); 箭头2所写代码 //json对象解析,路径编写 var?jd?=?pm.response.json().msg; //设置一个变量表示json中的路径(看不懂的话看下底下的json返回值 //它表示:{ //"msg":"成功" //})对应的值 //验证信息编写 pm.test("验证信息是:成功" //这是断言判断结束后给我们看的部分 ,function() //表示功能,但是我没用过 { ????pm.expect(jd).to.equal(data.S3) //这句话表示jd变量对应的值是data.S3,这里我用了参数化的写法,不用参数化写的话应该为("值") }); 箭头3对应的是返回的BODY值在,这里可以看到msg对应的值是成功 注意:如果返回值中BODY的下有多个json对那么就得加上那个路径,如: a:{ q:{ w:3; }; }; b:{ e:{ c:a; v:b; }; n:{ m:t; y:o; } }; 如果你要取m的值 那么你要这么写路径 var m = pm.response.json().b[1].m 2.参数化的运用 这里我用的参数化是在文档中编写的参数,并不是postman可以直接使用的环境参数,要注意 首先在报文中的参数化编写格式和断言中参数化编写格式不一样要注意不能写错; 报文中的写法:{{参数}} 断言中的写法:data.参数 如图 ? 这是报文中参数化的写法 这是断言中参数化的写法 ? ? 这是参数化文件 注意建议参数化文件要另存为下 文件的编码格式调整为utf-8,避免有些中文无法输入变成乱码 注:参数带数字的化最好使用双引号来填写,如"01",避免无法显示完全 3.通过参数化和断言参数化来用postman进行接口自动化 通过断言和参数化的方式我们就可以对接口进行自动化操作 如图指示 ? 在postman左边有个按钮可以开启自动化的处理方式 打开后进行设置 ? 通过右边栏选择要执行的接口和进行调整接口运行顺序; 左边Data栏选择要添加的参数化文件,不选择文件Data File Type栏是不会出现的,它的作用是选择参数化文件的文件类型和查看文件内的参数; Save responses栏建议打开,可以看返回的报文(这样就算字段太多不好用断言判断还可以人工进行判断) ? 这张是网上找的图有点老,但是对各个功能有解释 设置之后就可以单击Run进行测试了 测试完成会出现如下图(版本不一样可能出现不一样的界面) ? 箭头1代表测试接口的断言执行情况 箭头2代表查看执行的详细情况(一点也不详细) 箭头3代表保存 箭头4代表重新再测一遍 这里点击接口名称可以查看报文详细结果 ? 箭头1代表单击选择可打开报文详细页面 箭头2代表输入报文详细情况(我这里没有输入报文所以没有) 箭头3代表输出报文详细情况(上面Save responses栏没打开就不会显示) 接口自动化这里还有很多功能,如定时等,我这里都没有用到,欢迎大家讨论。 我这里根据自己的工作情况做了一些分享,也希望和大家进行进一步的讨论。谢谢大家。 延申材料: |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:22:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |