我正在使用 Ruby 和 Watir-Webdriver 以及 Headless gem 运行 Watir 测试。
这是设置 Headless 环境的代码:
headless = Headless.new(dimensions: "1600x900x24")
如果测试崩溃,我们的测试环境会自动捕获屏幕截图。我希望看到 1600x900 的屏幕截图,但图像大约为 1050 x 818(+/- 几个像素),并且网页本身已缩放以适合该区域。
我将 headless (headless)尺寸更改为 3200x1800x24,我的屏幕截图为 1585 x 1718。 我将 headless (headless)尺寸更改为 50x90x24,屏幕截图为 187 x 8,在这种情况下整个网页都看不到。
对这种行为有什么解释吗?如何将 headless (headless)屏幕设置为 1600 x 900?我想知道这是 Xvfb 的问题,还是 Headless 与 Xvfb 一起工作的方式,但我不太了解它是如何工作的,而且我今天在 Xvfb 上所做的阅读并没有为我阐明一些事情。
我关心的不是屏幕截图,而是页面缩放以适应 1050 x 818 的缩小尺寸。在那个尺寸下,我正在编写的测试的某些页面元素被包裹在屏幕上并且不可点击,这首先导致测试崩溃。
最佳答案
我以前在 Jenkins 服务器上 headless (headless)运行时遇到过这个问题。问题出在 Xvfb 上。您可以在命令行中设置屏幕分辨率,如下所示:
Xvfb :1 -screen 0 1600x900x24
关于Ruby Headless gem 屏幕尺寸未得到遵守,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25817555/