激活切换设备工具栏打开Chrome

时间:2018-03-20 18:07:54

标签: selenium google-chrome-devtools headless mobile-emulator

我正在使用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);
    }

1 个答案:

答案 0 :(得分:0)

我有同样的问题。 我无法让WebDriver在硒中模拟移动设备。

解决方法是添加参数: --auto-open-devtools-for-tabs,然后将设备切换到移动设备并保留会话--user-data-dir

相关问题