chrome webdriver 将视口设置为低于 500 像素?

chrome webdriver set viewport below 500px?

在基于 selenium 的测试中,我将 window 大小设置为 400(w) 719(h) 以创建 400x640 的内部视口大小。我的大部分测试都基于该尺寸,但有些测试使用其他尺寸。

Dimension size = new Dimension(400, 719);
driver.manage().window().setSize(size);

较新的 chrome 版本未能将 window 大小设置为 400 像素宽度,相反,生成的 window 宽度约为 500 像素(尽管有所不同)。

https://bugs.chromium.org/p/chromedriver/issues/detail?id=2639 (错误,声称已修复,但似乎没有)

所以我想设置内部视口大小。

如何在 selenium/chrome webdriver 中执行此操作?

你可以看看chromedriverMoblie Emulation

如上所述,

java 例子

Map<String, Object> deviceMetrics = new HashMap<>();
deviceMetrics.put("width", 360);
deviceMetrics.put("height", 640);
deviceMetrics.put("pixelRatio", 3.0);

Map<String, Object> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceMetrics", deviceMetrics);
mobileEmulation.put("userAgent", "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19");

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("mobileEmulation", mobileEmulation);
WebDriver driver = new ChromeDriver(chromeOptions);