JMeter、Postman接口测试之读取csv文件、参数化
JMeter、Postman 读取csv、参数化
本文为博主原创,未经许可严禁转载。
本文链接:https://blog.csdn.net/zyooooxie/article/details/112656701
之前分享过 JMeter、Postman、Requests接口测试之数据关联,这次说下 JMeter、Postman读取csv文件来做参数化。
没有Requests,是因为 Requests会做接口自动化框架分享
个人博客:https://blog.csdn.net/zyooooxie
csv文件
A.文件内容包括
- 前五行 英文字母+数字 【第一行为2个变量名】
- 第六行 英文符号+英文字母+数字
- 第七、八行出现汉字、中文符号、英文字母、英文符号
- 最后一行 做个区分

B.实际发请求的数量: 11 【大于csv的数据量】
C.访问的是httpbin.org的接口
D.断言设置: 响应时间<=500ms + 状态码为200 + 参数化断言
JMeter
JMeter发送get请求



JMeter发送post请求:application/x-www-form-urlencoded



JMeter发送post请求:application/json




JMeter执行结果




参数化断言 报错的原因是编码不同;


Postman
Postman在编码的设置、修改上,我有疑惑
- get请求,没找到【右键-EncodeURIComponent 在参数化时,我不太满意;只能自己在Pre-request Script写】
- post请求,Headers设置了"Content-Type":“xxx;charset=UTF-8”,和不设置charset=UTF-8,我发现请求体 是一样的【Postman版本6.7.4】
Postman发送get请求

Postman发送post请求:application/x-www-form-urlencoded


Postman发送post请求:application/json


Postman设置的断言 + Collection Runner


Postman执行结果

断言失败的情况,我分了2种:
- 响应值的编码问题【前面JMeter说过了】
- get请求的编码问题


在Postman手动请求,再看看:

手动EncodeURIComponent:

若我们正常手动编码 发请求,实际没啥毛病的;但使用参数化时,Postman无法自动encode,咋整?
手动EncodeURIComponent,实际就是调用encodeURIComponent()。所以能不能写个前置,实现自动编码呢?
JavaScript encodeURIComponent() 函数


所以 参数化+get请求自动编码 最终做法:



最后说下
- Postman的Iterations可自动填写:先选文件,读取、解析csv后 Postman会自动填写;
- Postman执行次数 超过文件内的数据量,会执行最后一行的值;JMeter执行次数 超过文件内的数据量,具体行为 是在CSV Data Set Config中Recycle on EOF+Stop thread on EOF设置的
交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)