所以,相当新的机器人框架。使用Pycharm,我创建了一个包含两个目录的测试套件。一个用于测试脚本,一个用于资源文件。使用时,测试都按顺序运行:
robot test_directory
或
pybot test_directory
我现在需要并行运行它们。 我使用以下方法找到并安装了pabot:
pip install -U robotframework-pabot
在Pycharm终端中,我运行以下命令:
pabot test_directory
我收到以下错误:
**
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
任何人都可以指出我做错了什么并指出了我正确的方向吗?
答案 0 :(得分:2)
如错误消息中所述,它是无效的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
答案 1 :(得分:1)
所以您可以做的是,尝试以下命令
pabot --processes 2 test_directory.robot
它将创建2个并行运行的线程。
答案 2 :(得分:0)
似乎您正在RobotRemoteServer上执行旧版本。
请执行pip install robotremoteserver==1.1