Есть ли способ обойти диалог Chrome Geolocation в тестах транспортира? - PullRequest
0 голосов
/ 17 апреля 2019

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

Когда я открываю домашнюю страницу, я получаю диалоговое окно геолокации с кнопками Блокировать / Разрешить, которое не позволяет продолжить работу без выбора любой опции

enter image description here

Оказалось, что это диалоговое окно не является экземпляром предупреждения, поэтому browser.switchTo().alert().confirm() не работает

Передача '--disable-notifications' аргумент в пользу Chrome также не решил проблему

Исследования в Интернете не дали положительных результатов.Как это решить?

1 Ответ

0 голосов
/ 17 апреля 2019

Решение проблемы состоит в том, чтобы передать "prefs": {'profile.default_content_setting_values.geolocation': 2} объекту capabilities в ваш protractor.config.js

Ниже приведен еще один вариант, который делает почти то же самое.

Таким образом, chrome может принимать аргумент --user-data-dir=/tmp/chrome, который указывает профиль для открытия Chrome. Если профиль не существует в указанном каталоге, он создает профиль по умолчанию. Затем, если вы откроете / tmp / chrome / Default / Preferences, вы увидите объект с настройками. Вам нужно было установить default_content_setting_values.geolocation на 2 (не 1 или 0), чтобы НЕ отображать это диалоговое окно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...