小编典典

我有PyVirtualDisplay == 0.2.5软件包的问题,​​该软件包用于使用虚拟显示器(无头模式)运行测试

selenium

我的测试可以使用正常运行PyVirtualDisplay==0.2.1,但该软件包的最新版本(例如PyVirtualDisplay==0.2.5)存在问题。

我的代码段:

...
    def _set_up(self):

        # Creation of instance of the browser.
        self.display = Display(visible=0, size=(config.WIDTH, config.HEIGHT))
        self.display.start()
        desired = self.get_desired_capabilities(config.BROWSER)
        self.driver = webdriver.Remote(command_executor=config.ACTIVE_NODE,
                                       desired_capabilities=desired)
        # Maximize window size.
        self.driver.set_window_size(config.WIDTH, config.HEIGHT)
...

错误信息:

错误回溯(最近一次调用最近):文件“
/usr/local/Cellar/python/3.7.6/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py”,第59行,在testPartExecutor中生成文件“
/usr/local/Cellar/python/3.7.6/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py”,行624,运行self.setUp(
)在setUp self._set_up()文件中,文件“
/Users/ratmirasanov/Documents/testing/welcome_widget/test_welcome_widget.py”,第24行,文件在“
/ setsup”中的文件“ /Users/ratmirasanov/Documents/testing/utilities.py”,行41
self.display.start()文件“
/Users/ratmirasanov/Documents/testing/venv/lib/python3.7/site-
packages/pyvirtualdisplay/abstractdisplay.py”,行171,在开始时引发XStartTimeoutError(msg%d)pyvirtualdisplay
.abstractdisplay。XStartTimeoutError:无法在显示“:1001”上启动X(xdpyinfo检查失败)。

我没有找到任何可行的解决方案来解决此问题。任何帮助将不胜感激。谢谢。

UPD:该PyVirtualDisplay==0.2.5软件包在Ubuntu 18.04.3 LTS上按预期工作。

xdpyindo程序位于何处:/usr/bin/xdpyinfo

问题出在安装了XQuartz(https://www.xquartz.org/index.html)的Mac(macOS
Catalina 10.15.2)上(xdpyindo程序位于/opt/X11/bin/xdpyinfo文件夹中)。


阅读 423

收藏
2020-06-26

共1个答案

小编典典

作为解决方法,可以在Mac上删除“ xdpyinfo”程序。

这是在GitHub上项目存储库中已创建问题的内部讨论:https
:
//github.com/ponty/PyVirtualDisplay/issues/42

UPD:实际上,这是一个许可问题。可以在执行以下操作(不删除“ xdpyinfo”程序)之后进行修复:

mkdir /tmp/.X11-unix 
sudo chmod 1777 /tmp/.X11-unix 
sudo chown root /tmp/.X11-unix/

希望它能帮助某人。

2020-06-26