无法在 pycharm 中使用 pabot 运行并行机器人框架测试

Posted

技术标签:

【中文标题】无法在 pycharm 中使用 pabot 运行并行机器人框架测试【英文标题】:Unable to run parallel robotframework tests using pabot in pycharm 【发布时间】:2018-02-23 07:13:16 【问题描述】:

所以,对于机器人框架来说是相当新的。使用 Pycharm,我创建了一个包含两个目录的测试套件。一个用于测试脚本,一个用于资源文件。使用时,测试都按顺序运行良好:

机器人测试目录

pybot 测试目录

我现在需要并行运行它们。 我使用以下方法找到并安装了 pabot:

pip install -U robotframework-pabot

在 Pycharm 终端中,我运行以下命令:

pabot 测试目录

我收到以下错误:

**

Traceback (most recent call last):
  File "C:\Python\lib\runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Python\lib\runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "C:\Python\lib\site-packages\pabot\__init__.py", line 1, in <module>
    from .PabotLib import PabotLib
  File "C:\Python\lib\site-packages\pabot\PabotLib.py", line 22, in <module>
    from robotremoteserver import RobotRemoteServer
  File "C:\Python\lib\site-packages\robotremoteserver.py", line 103
    except (OSError, select.error), err:
                                  ^
SyntaxError: invalid syntax

**

我也试过了:

pabot test_directory *.robot

pabot test.robot

pabot test_directory test.robot

我正在使用 RF 3.0.2、Python 3.6

谁能指出我做错了什么并指出我正确的方向?

【问题讨论】:

我不确定,但似乎 pabot 不支持 python3。或许你应该问问 pybot 开发者,或者干脆自己去修改声明。 【参考方案1】:

如错误消息中所述,它是无效的 Python 语法。原因是,Pabot 与 Robot Framework 生态系统的许多其他模块和库一样,尚未升级为与 Python 3 兼容。

要修复此特定错误,您需要进行更改:

except (OSError, select.error), err:

到这里:

except (OSError, select.error) as err:

虽然您应该注意该模块可能有更多的 Python 3 不兼容性,如果您不是绝对需要使用 Python 3,您可能需要考虑使用 Python 2.7.x

如果返回 Python 2.7 不是一个选项,您可以考虑修复 Pabot 的 Python 3 不兼容问题并在 Github repository 上提交拉取请求

【讨论】:

【参考方案2】:

您似乎在 RobotRemoteServer 上执行旧版本。 请做pip install robotremoteserver==1.1

【讨论】:

【参考方案3】:

所以你可以做的是,试试下面的命令

pabot --processes 2 test_directory.robot

它将创建 2 个并行运行的线程。

【讨论】:

以上是关于无法在 pycharm 中使用 pabot 运行并行机器人框架测试的主要内容,如果未能解决你的问题,请参考以下文章

使用Pabot并行运行RF案例

使用pabot并发执行robotframework测试

PyCharm无法找到参考但它确实存在

pycharm运行出现红字robot

为啥 PyCharm 无法运行单元测试?

我无法在错误中说的 pycharm 上运行 locust