Ruby Headless宝石屏幕尺寸不受尊重

时间:2014-09-12 22:06:15

标签: ruby watir-webdriver headless xvfb

我正在使用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的缩小尺寸。在该尺寸下,我正在编写的测试的某些页面元素被包裹在屏幕上而不是可点击,这导致测试首先崩溃。

1 个答案:

答案 0 :(得分:0)

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

Xvfb :1 -screen 0 1600x900x24