【问题标题】:Ruby Headless gem screen dimensions are not being respectedRuby Headless gem 屏幕尺寸未得到尊重
【发布时间】:2014-11-07 04:18:58
【问题描述】:

我正在使用 Ruby 和 Watir-Webdriver 以及 Headless gem 运行 Watir 测试。

这里是设置无头环境的代码:

headless = Headless.new(dimensions: "1600x900x24")

如果测试崩溃,我们的测试环境会自动捕获屏幕截图。我希望看到 1600x900 的屏幕截图,但图像大约为 1050 x 818(+/- 几个像素),并且网页本身已缩放以适应该区域。

我将无头尺寸更改为 3200x1800x24,我的屏幕截图为 1585 x 1718。 我将无头尺寸更改为 50x90x24,屏幕截图为 187 x 8,在这种情况下整个网页不可见。

对这种行为有什么解释吗?如何将无头屏幕设置为 1600 x 900?我想知道这是否是 Xvfb 的问题,或者 Headless 与 Xvfb 的工作方式,但我不太了解它是如何工作的,而且我今天在 Xvfb 上所做的阅读并没有对我有所启发。

我关心的不是屏幕截图,而是页面缩放以适应 1050 x 818 的缩小尺寸。在那个尺寸下,我正在编写的测试的某些页面元素被包裹在屏幕上并且不可点击,这首先导致测试崩溃。

【问题讨论】:

    标签: ruby watir-webdriver headless xvfb


    【解决方案1】:

    我以前在 Jenkins 服务器上无头运行时遇到过这个问题。问题出在 Xvfb 上。您可以在命令行设置屏幕分辨率,如下所示:

    Xvfb :1 -screen 0 1600x900x24
    

    【讨论】:

    • 感谢您的回复。几个小时以来,我一直在尝试实施您的建议,但到目前为止还没有为我工作。我遇到了很多错误,其中一些我通过谷歌搜索清除了。希望我能弄清楚如何克服这个问题,该问题在网络上的几个地方都有报道,但我还没有找到适用于我的机器的修复程序:“[dix] 无法初始化字体路径元素/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,从列表中删除!”然后我可以继续我的 Watir 测试!
    • 嗯,我从来没有遇到过这个问题。你能发布你用来启动 Xvfb 的命令吗?
    • 如果我复制并粘贴您上面建议的命令,我会收到我报告的有关 TrueType 的错误消息,这会导致系统挂起并且我永远不会收到命令提示符。 sh -e '/usr/bin/Xvfb :1 -screen 0 1600x900x24' 说“sh: 0: 无法打开 /usr/bin/Xvfb :1 -screen 0 1600x900x24。”我的 TrueType 目录是空的,不确定是否正确。 sudo dpkg-query -W -f='${Status} ${Package}' xvfb 报告“安装确定安装 xvfb。” sudo apt-get -y install x-ttcidfont-conf cabextract ttf-mscorefonts-installer 告诉我我确实有最新版本的 x-ttcidfont-conf。
    • 是的,我为此不知所措。在查看了一些配置之后,这更像是我的命令,所以也许试一试?抱歉,我无法提供更多帮助。 Xvfb :0 -ac -screen 0 1600x900x24; export DISPLAY=:0
    • 唉,那个命令没有让我更进一步。非常感谢您的努力。希望我能弄清楚。如果我这样做,我会发布更新。
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多