我一直在使用taurus
作为一个完整的测试用例来运行多个测试模块,而且一切都很好。直到现在,我才需要使用测试片段来避免代码重复,并且遇到taurus
不断抱怨
错误:子进程错误:空结果,...
同一测试在Jmeter
中运行,符合预期。
有人可以帮我吗,我可能会错过吗?
这是一个非常简单的金牛座配置:
test-frag-and-taurus.yml
execution:
- concurrency: 1
iterations: 1
scenario:
script: test-frag-and-taurus.jmx
jmeter如下:
test plan
--thread group
----test fragment 1
------jsr223: log.info('### from fragment... ')
--thread group #disabled. also tried text fragment using include module)
----test fragment 2
------include module #point to the test fragment 1 above which saved into a separate jmx file
--thread group
----module controller
----jsr223: log.info('### from main... ')
--view result tree
2019-10-23 18:19:01,867 INFO o.a.j.p.j.s.J.JSR223 Sampler - fragment 1: ### from fragment...
2019-10-23 18:19:01,888 INFO o.a.j.p.j.s.J.JSR223 Sampler: ### from main...
与金牛座一起奔跑:
$ bzt test-frag-and-taurus.yml
...
18:25:45 INFO: Shutting down...
18:25:45 INFO: Post-processing...
18:25:45 INFO: Test duration: 0:00:03
18:25:45 ERROR: Child Process Error: Empty results, most likely test-frag-and-taurus.jmx (JMeterExecutor) failed. Actual reason for this can be found in logs under .../perf-test/2019-10-23_18-25-40.748202
18:25:45 ERROR: JMeter STDOUT:
Created the tree successfully using .../perf-test/modified_test-frag-and-taurus.jmx
Starting the test @ Wed Oct 23 18:25:44 BST 2019 (1571851544293)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Tidying up ... @ Wed Oct 23 18:25:44 BST 2019 (1571851544774)
... end of run
18:25:45 ERROR: JMeter log:
2019-10-23 18:25:43,948 INFO o.a.j.u.JMeterUtils: Setting Locale to en_EN
2019-10-23 18:25:43,969 INFO o.a.j.JMeter: Loading user properties from: user.properties
...
答案 0 :(得分:0)
只是注意到我从上面包含的金牛座日志中遗漏的日志中的以下行...
2019-10-24 16:25:58,226 INFO o.a.j.e.StandardJMeterEngine: No enabled thread groups found
2019-10-24 16:25:58,226 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
似乎金牛座在找到带有测试片段的任何启用的线程组时就禁用了Modifyed_脚本中的所有线程组
bzt -gui test-frag-and-taurus.yml
禁用线程组包含测试片段解决了我的问题-尽管禁用了线程组,但模块控制器仍能够调用测试片段