Я хочу протестировать приложение Protractor Angular, которое обращается к системному буферу обмена с помощью буфера обмена API .Проблема заключается в том, что при выполнении теста браузер Chromium запрашивает у пользователя разрешение на доступ к буферу обмена.Я не могу закрыть это окно из теста, потому что это не элемент DOM и не окно предупреждения, и, похоже, нет никакого способа получить к нему доступ из Protractor.
разрешения буфера обмена
Я попытался автоматически дать разрешение в Chrome, в настройке транспортира.Сначала я искал ключ командной строки , который это делает, но, кажется, его не существует.
Затем я нашел способ, который, очевидно, работает, но я не знаю, стабильно ли он: установить «исключение» в профиле пользователя Chrome, используя Возможности драйвера Chrome webdriver .По сути, я добавляю следующие строки моего конфигурационного файла транспортира:
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'prefs': {
'profile.content_settings.exceptions.clipboard': {
'http://localhost:8000,*': {'last_modified': Date.now(), 'setting': 1}
}
}
}
}
Я нашел значение, заглянув внутрь файла Default/Preferences
в моем профиле Chrome.
Теперь он работает для меня, но я не хочу использовать недокументированные функции, так как они могут быть изменены в любое время без предварительного уведомления.Знаете ли вы лучший способ сделать это?Спасибо.