Запустить эмуляцию Chrome из командной строки

Я использую Google Chrome с Интернетом для запуска автоматических тестов, и я хотел бы узнать, есть ли способ запустить Chrome в режиме эмуляции из CLI или использовать определенный флаг для тестирования мобильного рендеринга. Если нет, знаете ли вы хорошее обходное решение?

Я мог напрямую использовать Android Emulator (от Android SDK) с Selenium Webdriver apk или с мобильным Chrome, но тесты чаще всего сбой, эмуляторы не реагируют, и я должен перезапустить его. Кроме того, мне нужно протестировать на максимально возможной области, не ограничиваясь Android-устройствами. Chrome на рабочем столе намного стабильнее, и даже если тест терпит неудачу, хром всегда отвечает и может автоматически закрываться Интернетом.

Я пробовал обходной путь с флагом "--enable-touch-events" и с пользовательским userAgent, но это создавало странное поведение. Может, мне помогут некоторые другие флаги?

Заранее благодарю за ваш ответ.

Ответ 1

В настоящее время невозможно в Chrome.

Это особенность, которую я тоже очень желал, поэтому я пошел вперед и подал запрос о ней по следующей ссылке:

https://code.google.com/p/chromium/issues/detail?id=373169&thanks=373169&ts=1400050662

Я скрещиваю пальцы, но это не помешает, если вы и другие люди, заинтересованные в этом, пошли и оставили комментарий на тему. Чем больше людей просят об этом, тем выше вероятность его реализации. И похоже, что было бы тривиально реализовать, так как на данный момент требуется только несколько щелчков мыши для входа в режим эмуляции.

Ответ 2

Selenium позволяет пользователям эмулировать Chrome на мобильном устройстве, используя следующий код:

Map<String, String> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceName", "Nexus 5");

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