我正在使用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的缩小尺寸。在该尺寸下,我正在编写的测试的某些页面元素被包裹在屏幕上而不是可点击,这导致测试首先崩溃。
答案 0 :(得分:0)
我以前在Jenkins服务器上运行无头此问题。问题出在Xvfb上。您可以在命令行设置屏幕分辨率,如下所示:
Xvfb :1 -screen 0 1600x900x24