GUI上的测试脚本可以完美运行,但不能在非GUI模式下运行。Image showing Terminal test execution
说明:
我在测试计划中有3个线程组,其中第一个Thread Group
创建了3个.csv
文件,并期望将CSV文件中的数据馈送到second Thread Group
中。
对于很少的测试运行,非GUI模式非常有效,但是随后,像[终端显示测试运行]这样的测试就断断续续地完全不创建CSV
文件,
有时,第三个线程组根本不执行。
T 问题,我注意到的是:
在NOn-GUI测试期间未创建文件,因此这就是下一个线程组无法选择并使用CSV
文件中的变量以及
第二个可能是:我将文件夹和文件路径保存在
$ {__ setProperty(prop_folder_Path,$ {File_Path})}并获取道具。
${__property(prop_folder_Path)}
在另一个线程组中->有时此属性功能不起作用,文件保存在/bin
目录中
有没有办法在BeanShell POStProcessor中使用${__property(prop_folder_Path)}
值?
我相信GUI中的所有功能在非GUI中也应相同,是吗?
我刚刚注意到在NOn-GUI中运行测试时,正在/ bin文件夹as shown here 中创建输出文件
任何解决此问题的建议。谢谢
答案 0 :(得分:0)
我的期望是您的“ .csv”文件创建以某种方式失败,因此第二线程组由于缺少文件而无法运行。
JMeter没有任何内置功能可将某些内容写入文件,因此我认为您使用JSR223 Scripting实现了一些自定义逻辑,但此方法无效。原因可能是:
在这两种情况下,答案都将保存在 jmeter.log 文件中,检查是否存在可疑条目并解决原因。
通常,最好不要使用文件在线程组之间传递数据,我建议改为在内存中进行操作,例如:
在第一线程组中,使用__setProperty()函数将存储在CSV文件中的数据转换为JMeter属性,例如:
${__setProperty(foo,bar,)}
在第二线程组中,使用__P() function读取数据,例如:
${__P(foo,)}
更多信息:Knit One Pearl Two: How to Use Variables in Different Thread Groups