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做参数化,细节把控非常重要,一个标点符号就能让测试结果发生错误。

相关推荐
文人sec2 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung3 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流3 天前
jmeter使用技巧
jmeter
春时似衿里3 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书3 天前
JMeter的安装部署
jmeter
程序员杰哥3 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎3 天前
Jmeter测试
jmeter
卓码软件测评3 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao4 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥4 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter