Jmeter读取本地txt/csv文件作为请求参数,实现接口自动

2018-02-13  本文已影响0人  莫依痕

前提1:找到apache-jmeter-3.2->bin,点击Jmeter.bat启动Jmeter

jmeter启动.png
前提2:如果响应数据里返回中文,在jmeter.properties中进行编码设置
jmeter.properties编码设置.png
1、在测试计划中新建线程组,我这里测试具体项目的一个接口,所以在线程组加了HTTP信息头管理器(一般设置AuthorizationContent-Type即可)、CSV Data Set ConfigHTTP请求和查看结果树
测试计划组成.png
2、新建一个txt文件,输入具体参数,用英文“,”隔开(Delimiter里可以随意设置英文分割符号进行分割,但是Delimiter设置什么分割符,txt里的元素一定要用那个分割符号),一定不要写列名
txt转csv.png
3、CSV Data Set Config里的filename写具体csv的本地地址,csv里一行有多少个值,Variable Names就写几个值,多个参数具体用“,”隔开
CSV Data Set Config.png

4、HTTP请求里的Body内容,需要用本地的值作为参数,按照下面方式书写,格式是"${variable name}",如果请求值有中文,记得Content encoding里要输入UTF-8,否则会乱码

[{"user_id":"${userid}","user_name":"${username}"}]
HTTP请求设置.png
5、csv里有几行内容,线程组的个数就设置多少,否则无法保证csv的所有内容都运行。可以通过查看结果树看请求和响应数据
查看结果树.png

遇到的坑:

1、HTTP请求中误勾选Use multipart/form-data for POST

请求数据是一串ID,误以为是编码问题,排查了jmeter.properties编码设置和HTTP请求中Content encoding设置,排除乱码问题。后来发现是勾选了Use multipart/form-data for POST,找不到数据引发的问题

form-data for POST.png
请求数据报错.png
2、请求参数写在Parameters里

post请求的参数有3种实现形式(Parameters、Body Data、Files Upload),有些请求内容的数据格式是json格式的,不能把参数写在用Parameters,识别不了,导致响应数据有误

Parameters里写请求参数.png
响应数据有误.png
3、txt里的内容有用“,”隔开的,Delimiter里建议设置成其他的分割符,否则完整的数据会被截断。
上一篇下一篇

猜你喜欢

热点阅读