首页 > 解决方案 > taurus jmeter 测试片段“错误:子进程错误:空结果,...”

问题描述

我一直在使用taurus将多个测试模块作为一个完整的测试用例运行,并且一切都很好。只是现在我需要使用测试片段来避免重复代码,我遇到了一个taurus不断抱怨的问题

错误:子进程错误:空结果,...

相同的测试Jmeter按预期运行。

有人可以帮我吗,我可能错过了,拜托?

这是一个非常简单的 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
...

标签: jmetertaurus

解决方案


刚刚注意到日志中的以下行,我从上面包含的 taurus 日志中遗漏了...

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

当 taurus 发现任何带有测试片段的已启用线程组时,似乎 taurus 在其 modified_ 脚本中禁用了所有线程组,而这正是它所做的

bzt -gui test-frag-and-taurus.yml

禁用包含测试片段的线程组解决了我的问题 - 尽管禁用了线程组,模块控制器仍然能够调用测试片段


推荐阅读