Jmeter定时5秒钟发送一次请求

需求:使用上传坐标接口,每5秒钟发送一次请求,每次发送的坐标不同

过程

1.jmeter测试计划→线程组→sampler→HTTP请求

    在线程组中设置线程属性,线程数为1,循环次数为发送请求次数

2.线程组→监听器→查看结果树

    在步骤一的http请求填写相关参数,运行后查看调用接口的结果是否正确

3.使用Excel构造批量测试数据

    第一列为经度数据,第二列为纬度数据,保存为position.csv

4.线程组→配置元件→CSV数据文件设置

    文件名:通过浏览文件夹添加

    变量名称:longitude(对应position.csv中第一列的经度数据),latitude

5.在步骤一的HTTP请求中,将经纬度的参数值分别改为${longitude},${latitude}

    运行后查看调用接口的结果是否正确

6.线程组→定时器→固定定时器

    在固定定时器中将线程延迟(毫秒)填写为5000,运行后可在查看结果树里看到从第5秒开始间隔发送请求


思考

如何用jmeter模拟多个用户同时每隔5秒发送请求,且请求数据不同???

解决

1.在构造数据的CSV文件,补充多个用户的经纬度坐标数据,依次为A用户纬度、经度,B用户纬度、经度,C用户纬度、经度……在jmeter的CSV数据文件设置中,将变量名称依次对应csv文件中列数据,如设为lat1,long1,lat2,long2,lat3,long3……

2.在线程组中添加多个HTTP请求,几个用户几个请求,请求接口中填写对应的变量名,如position1对应用户1的上传坐标,发送请求的经纬度变量值为${lat1},${long1}

3.给最后一个请求添加一个固定定时器;将测试计划下的线程组的线程数设置为1,循环次数的设置为用户发送请求的数目

4.通过查看结果树发现,会先发送position1和position2请求,几秒后同时发送3个请求


其他

一开始想到多用户发送请求,是用一个接口,设置线程数为用户数,但是需要构造数据比较麻烦,需要将三列数据合并为一列,且顺序为用户1、用户2、用户3、用户1、用户2、用户3……

通过搜索得到,将原始数据复制到Word中,以【只保留文本】粘贴,通过替换将tab空格替换为换行(^p),将得到的结果复制到excel中即可

  ===处理后===> 

猜你喜欢

转载自blog.csdn.net/dearmorning/article/details/80240171
今日推荐