JMeter的CSVRead文件读取只能读到第一行的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter的CSVRead文件读取只能读到第一行的内容相关的知识,希望对你有一定的参考价值。

.txt .csv
求助如何读取完整文件内容

Jmeter执行的时候,如果有多个线程,顺序读取第一行的数字,如果线程组多于文件中的行数,则循环读取。 参考技术A

问题:只读取第一行的参数;

原因:因为你读取完一行之后,没有切换到下一行

解决方法:在最后一列参数对应的字段名处加上$__CSVRead(文件名,next)

官网的是这样子的说明的:

例如我的csv文件是这样子的:

为了看得清楚,我把参数放到postman来了,只需要在最后一列加个next就好了

完美解决,觉得有用,麻烦给个赞支持一下,谢谢!

性能测试-JMeter参数化__CSVRead()

今天,这章节我们主要来学习JMeter参数化__CSVRead().

配置项:
技术图片
使用文件别名:

若文件路径较长,可以考虑使用文件别名来简化书写。使用方法为:
首先,在第一次使用参数前定义文件别名;以后,在调用函数获取数据
时都可以使用别名代替文件名,下面是使用别名的例子:
技术图片

从不同数据文件读取数据:
可以设置不同的线程读取不同的数据文件。
假设有n个线程,准备对应好的n个csv文件: testdata1.csv,
testdata2.csv,... ,testdatan.csv
线程1读取testdata1.csv中的数据,线程2读取testdata2.csv中
的数据,...
使用${threadNum}获取线程编号,再与文件名前后缀拼接形成动态
的文件路径作为CSVRead函数的第一个参数:
${
CSVRead(./testdata${__threadNum}.csv,0)}

举例说明:

这里以前面介绍过的查询被购买的商品总金额接口为例。

参数化步骤:

1、确定接口参数中哪些请求参数需要进行参数化在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,attr,number参数化

2、将测试数据放在外部一个文档保存,文件类型为csv或txt -->

.csv or .txt

新建一个testdata.csv,一行写一个用例,多个参数值默认用,分隔(注意不要写列标题):

case1,9,226,3

case2,,226,1

case3,9,,1

case4,9,226,

3、调用__CSVRead()函数获取外部数据文件中的数据

Tools-->Function Helper Dialog,打开“Function

Helper”,在“Choose a function”中选择“__CSVRead”。

填入参数值后,点击“Generate & Copy to Clipboard”,生成函数调用语句:

取列值:

id:

${__CSVRead(C:UsersForeknewDesktop estdata.csv,1

)}

attr:

${__CSVRead(C:UsersForeknewDesktop estdata.csv,2

)}

number:

${__CSVRead(C:UsersForeknewDesktop estdata.csv,3

)}

换行:

${__CSVRead(C:UsersForeknewDesktop estdata.csv,n

ext)}

4、在请求中将写死的数据用第3步中定义的变量进行替换

data --> ${varName}

比如 ${attr}

5、配置参数化

5.1 将线程数设置为用例的个数

5.2 循环控制请求的次数

添加一个循环控制器,设置其循环次数为测试用例个数。

以上是关于JMeter的CSVRead文件读取只能读到第一行的内容的主要内容,如果未能解决你的问题,请参考以下文章

jmeter-解决_CSVRead每次读取一行的问题

14.Jmeter--csvRead函数的使用

matlab读取cvs文件的几种方法

JMeter常用函数整理

JMeter常用函数整理

性能测试-JMeter参数化__CSVRead()