我正在使用 JMeter 进行Webservice上的回归测试。我正在尝试使用 CSV 文件使用 Xpath 断言,以避免创建多个XPath断言。
以下是我的CSV文件 test.csv 的概述(它定义了每个字段的预期值):
field1,value1
field2,value2
field3,value3
这是我的Xpath断言:
//信封/车身/响应/结果/数据/类型/ $ {字段)} [文本()= '$ {值)}']
field
& value
是我的CSV数据集配置中的变量名称。
当我以1次迭代运行我的测试时,它会使用我的CSV的第一行检查响应。我必须在我的线程组上至少进行3次迭代,以确保使用我的CSV的每一行。
我尝试过使用这种Xpath断言的CSVRead函数:
//信封/车身/响应/结果/ donnee /类型/ $ {__ CSVRead(test.csv,0)} [文本()= '$ {__ CSVRead(test.csv,1)}']
但我不知道如何循环它。我不知道是否可能。
答案 0 :(得分:0)
我建议您按如下方式构建项目:
循环控制器(循环次数与CSV文件中的行数匹配
Beanshell Sampler(将代码放在" Script"区域下面)
return ctx.getPreviousResult().getResponseDataAsString();
Beanshell Sampler将只从父HTTP请求或SOAP请求中获取响应数据,而无需重新执行请求,因此您可以根据需要多次重复使用响应数据。
有关Apache JMeter中Beanshell脚本的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。
如果您有任何问题,请查看XPathNameSpaceAssertionDemo项目