测试计划无法结束

提问 10 338
柳锐神
柳锐神 LV2 2023年10月30日 19:44 编辑
<p id="descriptionP"><p>近期把执行机的配置升级了一下,然后执行机重启了一下引擎服务,但是重启以后 测试计划执行出现了无法关闭的现象。<br>引擎端的报错:<span style="background-color: rgb(241, 241, 241); font-family: &quot;Courier New&quot;; font-size: 12px; white-space-collapse: preserve;">C:\Program Files\engine&gt;python startup.py</span><br></p></p><pre><code>-------------------------------------------------<br>当前所属版本号: 2.0.0<br>流马测试引擎已启动<br>-------------------------------------------------<br>Process Process-1:<br>Traceback (most recent call last):<br> File "C:\py38\lib\multiprocessing\process.py", line 315, in _bootstrap<br> self.run()<br> File "C:\py38\lib\multiprocessing\process.py", line 108, in run<br> self._target(*self._args, **self._kwargs)<br> File "C:\Program Files\engine\lm\lm_start.py", line 148, in run_test<br> s.create_thread(plan, queue, current_exec_status)<br> File "C:\Program Files\engine\lm\lm_setting.py", line 103, in create_thread<br> test_plan = self.read_fail_case(test_plan, default_result)<br> File "C:\Program Files\engine\lm\lm_setting.py", line 119, in read_fail_case<br> new_test_plan = copy.deepcopy(test_plan)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 205, in _deepcopy_list<br> append(deepcopy(a, memo))<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 161, in deepcopy<br> rv = reductor(4)<br>TypeError: cannot pickle '_thread.lock' object<br>Process Process-4:<br>Traceback (most recent call last):<br> File "C:\py38\lib\multiprocessing\process.py", line 315, in _bootstrap<br> self.run()<br> File "C:\py38\lib\multiprocessing\process.py", line 108, in run<br> self._target(*self._args, **self._kwargs)<br> File "C:\Program Files\engine\lm\lm_start.py", line 148, in run_test<br> s.create_thread(plan, queue, current_exec_status)<br> File "C:\Program Files\engine\lm\lm_setting.py", line 103, in create_thread<br> test_plan = self.read_fail_case(test_plan, default_result)<br> File "C:\Program Files\engine\lm\lm_setting.py", line 119, in read_fail_case<br> new_test_plan = copy.deepcopy(test_plan)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 205, in _deepcopy_list<br> append(deepcopy(a, memo))<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 172, in deepcopy<br> y = _reconstruct(x, memo, *rv)<br> File "C:\py38\lib\copy.py", line 270, in _reconstruct<br> state = deepcopy(state, memo)<br> File "C:\py38\lib\copy.py", line 146, in deepcopy<br> y = copier(x, memo)<br> File "C:\py38\lib\copy.py", line 230, in _deepcopy_dict<br> y[deepcopy(key, memo)] = deepcopy(value, memo)<br> File "C:\py38\lib\copy.py", line 161, in deepcopy<br> rv = reductor(4)<br>TypeError: cannot pickle '_thread.lock' object</code></pre><p><br></p>
收藏(0)  分享
相关标签: 提问
注意:本文归作者所有,未经作者允许,不得转载
10个回复
  • Chras-fu
    2023年10月30日 20:06
    看起来你的新的执行机不兼容线程库。新机器的系统和架构是什么?
    0 1
  • 柳锐神
    2023年10月30日 20:06
    emm,仔细比对了升级前后的测试计划配置,发现因为机器性能提升了,把并发执行用例数改成了3个(原先是2个),然后把失败重试也开了。 经过控制变量比对,确认应该是失败重试相关的代码有问题,因为把失败重试关了, 测试计划就可以执行完毕了
    0 2
  • 柳锐神
    2023年10月30日 20:12
    执行机系统图: img[http://talk-cdn.liumatest.cn/9d58419d-a806-4f4c-b175-f5db81665180.png]
    0 0
  • 柳锐神
    2023年10月31日 15:37
    本地引擎也报错 img[http://talk-cdn.liumatest.cn/c7562243-878b-461e-aedf-4c50554c9cbe.png]
    0 0
  • Chras-fu
    2023年10月31日 15:53
    这个不确定是不是你的用例有什么影响。你用你的本地引擎去执行一下demo环境的测试计划,a(http://demo-ee.liumatest.cn/#/planManage/testplan/edit/9893aefb-cfea-4114-b384-6f52241e246f)[计划链接] 。 先注册一个demo环境的引擎,然后执行看一下是否有问题。 或者如果你们本地环境如果外网可以访问的话,我来调试一下。
    0 0
  • Chras-fu
    2023年10月31日 18:02
    本问题因用例执行完成后驱动未关闭导致深拷贝时无法序列化。 官网最新包已修复该问题
    0 0