我的测试按照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中,在run self.setUp() File "/Users/ratmirasanov/Documents/testing/utilities.py",第24行、在setUp self._set_up() File“/Users/ratmirasanov/Documents/testing/utilities.py”,第41行、在_set_up self.display.start() File "/Users/ratmirasanov/Documents/testing/venv/lib/python3.7/site-packages/pyvirtualdisplay/abstractdisplay.py",第171行中,在start raise (msg% d)中,pyvirtualdisplay.abstractdisplay.XStartTimeoutError:未能在显示上启动X ":1001“(xdpyinfo检查失败)。
我没有找到任何解决办法来解决这个问题。任何帮助都将不胜感激。谢谢。
UPD:PyVirtualDisplay==0.2.5包正在Ubuntu18.04.3LTS上正常工作。
xdpyindo程序位于何处:/usr/bin/xdpyinfo。
问题是在我的Mac (macOS Catalina10.15.2)上安装了XQuartz (https://www.xquartz.org/index.html) (xdpyindo程序位于/opt/X11/bin/xdpyinfo文件夹中)。
发布于 2020-01-14 22:26:56
作为解决办法,“xdpyinfo”程序可以在Mac上删除。
下面是在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/希望它能帮到别人。
发布于 2019-12-30 14:46:26
--我的测试正在按照PyVirtualDisplay==0.2.1的预期工作和运行
您的显示需要超过10秒才能启动。这个约束在旧版本的PyVirtualDisplay中不存在。
解释:
从版本0.2.2开始,PyVirtualDisplay依赖于xdpyinfo程序来确定X服务器是否以给定的超时运行。它只尝试启动10秒的显示,然后引发一个XStartTimeoutError。
https://github.com/ponty/PyVirtualDisplay/commit/3b11cf1e1381921c047ba18f4c5d929847f23b84
https://stackoverflow.com/questions/59530551
复制相似问题