当前位置: 首页 > 面试题库 >

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

昌博易
2023-03-14
问题内容

我的测试可以使用正常运行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文件夹中)。


问题答案:

作为解决方法,可以在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/

希望它能帮助某人。



 类似资料:
  • 问题内容: 在JUnit4中可以吗? 在JUnit3中,我将执行以下操作: 问题答案: takari-cpsuite(最初由Johannes Link 开发)提供了一个适合您需求的classpath- suite。它允许通过正则表达式对Classpath中的类进行过滤,例如:

  • 问题内容: 由于与另一个软件包的名称冲突,Ubuntu上的NodeJS解释器名称()已重命名为。这是自述文件。Debian说: Node.js解释器命令的上游名称是“ node”。在Debian中,解释器命令已更改为“ nodejs”。 这样做是为了防止名称空间冲突:其他命令在上游使用相同的名称,例如“ node”包中的ax25-node。 必须将调用Node.js作为shell命令的脚本更改为使

  • If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. — Gerald Weinberg 在本章中,我们将学习如下内容: 为配置文件添加配置行 使用 Augeas 自动修改配置文件 使用

  • Tazpkg - 软件包管理器 Slitaz提供一个小型软件包管理器,它能轻易在系统里安装许多软件。Tazpkg是一个由SHell脚本写的轻量级的软件包管理器,能安 装.tazpkg文件。它能在Busybox、ash shell和bash中正常运行。Tazpkg可以让你列出软件包列表、安装软件包、删除软件包、下载软件包、解压软件包、打包软件包、查找软件包或者取 得有关可用软件包或所有已安装软件包的

  • 大多数软件包提供了测试程序集。编译完一个软件包之后立即运行一下它提供的测试程序是个好主意,因为测试程序将进行一次"健全检查"来确认所有的代码是否都正确编译了。通过了测试程序集的一系列检查,通常意味着软件包在按照开发者的预期工作,但是这并不保证这个软件包就完全没有 bug 了。 某些软件包的测试程序是极为重要的,例如核心工具链软件包 GCC 、Binutils 、Glibc 的测试程序,这是因为这些

  • 问题内容: 我可以在Maven文档中找到如何运行的地方: 一次测试 所有测试都在一个测试类中 符合特定模式的类中的所有测试 但是,如何在一个包中运行所有测试?这可能吗? 我希望不需要修改或代码的解决方案。 问题答案: 例如,您也可以使用模式 运行以 de.mypackage 包结尾的类中的所有测试。 [更新2017/12/18]: 由于这已成为公认的答案,因此这里有一些进一步的信息: Maven使