我在Jmeter中遇到问题。我正在测试的API从先前的JDBC请求中获取参数。只有1个线程时,这可以正常工作。但是,当我运行多个线程时,它将引发以下错误
{"Message": "A transient error has occurred. Please try again. (1205)","Data":null}
我需要运行5个线程,而不必运行JDBC请求5次。我可以在1个JDBC调用中检索5个结果,并为每个线程依次提供它们。这可能吗?我怎样才能做到这一点?最坏的情况是,我将不得不手动设置CSV文件而不是JDBC调用。
通常人们使用setUp Thread Group进行测试数据准备,并使用tearDown Thread Group进行最终清理。我建议将JDBC请求移动到setUp线程组下,并以1个虚拟用户运行它。
如果必须保持测试计划结构不变,并且可以修改SQL查询以返回更多结果,请注意,根据JDBC Request采样器文档,结果看起来像:
myVar_#=5
myVar_1=foo
myVar_2=bar
myVar_3=baz
myVar_4=qux
myVar_5=corge
因此您可以通过__V()和__threadNum()功能组合使用值,例如:
${__V(myVar_${__threadNum},)}