我正在使用Selenium中的java,我必须自动进行一些测试,有些需要使用Chrome Headless和Mobile Emulation。我知道如何使用“--auto-open-devtools-for-tabs”和“mobileEmulation”打开chrome,但我需要在激活Toggle Device Toolbar的情况下打开它。此模式模拟触摸交互事件,用触摸替换点击。如何在这种模式下启动Chrome? (我使用的是ChromeDriver v.2.358161)
这是我的代码:
(...)
Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "Galaxy S5");
ChromeOptions headlessOptions = new ChromeOptions();
headlessOptions.setExperimentalOption("mobileEmulation", mobileEmulation);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, headlessOptions);
driver = new ChromeDriver(capabilities);
(...)
我必须添加什么新论点?
(我做了一个机器人按 Ctrl + shift + M 但这不适用于Chrome Headless。)
protected void pressModoResponsive() throws AWTException {
pressF12();
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_SHIFT);
waitSleep(1);
robot.keyPress(KeyEvent.VK_M);
waitSleep(1);
robot.keyRelease(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
答案 0 :(得分:0)
我有同样的问题。 我无法让WebDriver在硒中模拟移动设备。
解决方法是添加参数:
--auto-open-devtools-for-tabs
,然后将设备切换到移动设备并保留会话--user-data-dir