jmeter参数化字段如何传空值

在最近的测试中,有时候参数化数据需要传空值,故尝试了下,如参数化文件第一行为空值时,

 想在 入参中传空值,发现并不是想要的效果

 查看jmeter源码中发现CSVDataSet中有如下代码

if (lineValues.length == 0) {// i.e. EOF
    if (getStopThread()) {
        throw new JMeterStopThreadException("End of file:"+ getFilename()+" detected for CSV DataSet:"
                +getName()+" configured with stopThread:"+ getStopThread()+", recycle:" + getRecycle());
    }
    for (String var :vars) {
        threadVars.put(var, EOFVALUE);
    }
}

即,如果行数值的长度==0,会发生如下动作:

1)getStopThread()方法返回是true的话,抛出如下异常:

end of file:xxx....,这里参数化策略中设置了以下

 jmeter GUI界面日志打开,返回类似如下日志:

2022-10-31 23:25:59,171 INFO o.a.j.s.FileServer: Stored: D:/apache-jmeter-5.3/data.txt
2022-10-31 23:25:59,171 INFO o.a.j.t.JMeterThread: Stop Thread seen for thread 线程组 1-1, reason: org.apache.jorphan.util.JMeterStopThreadException: End of file:D:/apache-jmeter-5.3/data.txt detected for CSV DataSet:CSV 数据文件设置 configured with stopThread:true, recycle:true
2022-10-31 23:25:59,171 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2022-10-31 23:25:59,171 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test

出现异常程序即终止

2)如果getStopThread()没有被赋值true,则接着往下执行,给参数化赋值为EOFVALUE,即为<EOF>

private static final String EOFVALUE = // value to return at EOF
    JMeterUtils.getPropDefault("csvdataset.eofstring", "<EOF>"

那么到这里我们参数化传值为空怎么实现呢,换个思路,参考如下:

1)参数化长度不为0,如可以和其他参数一起使用,其中一个为空是可行的,如下第一行第二列的值即可传值为空

 

 

2)为空的传参作为单独的一个单独的请求和传值的请求按照权重进行分配

如上方法仅供参考,欢迎交流 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值