jmeter中用csv data set config做参数化2

在jmeter中,使用csv data set config进行参数化是很重要的一个功能,但是这个功能的使用需要十分仔细和小心,因为细节之处往往决定着结果的正确与否。

举例:

一个登录接口用加密密码登录,一个登录接口用原始密码登录。

分别设置3个不同的异常场景:1.用户名不存在 2.填写用户名,不填密码 3.不填用户名,填写密码

2个接口的测试用例放在一个csv文件中。这里有个小tip: 默认csv文件是用,分隔,如果用xls表格来存储数据,对于有中文内容的测试数据,需要先通过txt记事本转换成utf-8bom编码格式【具体做法看另一篇】,然后再保存为csv文件,它会自动用逗号来分隔各个数据列,不需要逐行的添加逗号。这个非常重要

注意这里的测试数据,断言部分中因有逗号,之前是在数据前加单引号,现在不用加,也可以,只要allow quoted data设为True.【这个有点小疑惑吧,有的时候竟然不要加。】

接下来,运行脚本,看结果。

结果报错了,不仔细看根本看不出问题。其实是等于1后的逗号,测试数据里给错了,给的是中文的逗号,但实际上返回的结果里是英文的逗号,就是这么个细小的地方就导致了断言失败。

给他改过来,再重新运行一次。

这回脚本全部运行成功。

说下,这个脚本里用到参数化的地方,即测试数据里的各个字段,都应用到接口脚本的参数化中了。看图。

这里传参需要加密,都可以在测试数据的参数上直接运用函数,非常好用。

又思考了下,为了方便统一管理测试数据的参数化,对于需要使用加密函数的接口和不需要加密的接口用一个http请求去做参数化,能不能行?即如果把函数写在测试数据上,能不能生效?事实证明,经过试验,不可行。

看请求信息,加密函数在测试数据中,然后再调用过来,没法生效,反而报错。

正确的加密函数传参时是这样的:

所以,如果http请求中使用的参数化的参数不一致,还是得分不同情况来做参数化。

如果每个接口使用的参数化不一样,那么就得用不同的线程组来完成参数化。

总结:使用csv data set config做参数化,细节把控非常重要,一个标点符号就能让测试结果发生错误。

相关推荐
se-tester7 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered8 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔12 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶14 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见20 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong22 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung23 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的24 天前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke23324 天前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克25 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展