Можно ли с помощью Casper.js принимать запросы на разрешение браузера?
Я надеюсь проверить функциональность WebRTC в моем веб-приложении. Для этого необходимо принять разрешение браузера на доступ к камере и / или микрофону. Можно ли это сделать с помощью Casper.js и Slimer.js? Я не могу найти ничего в документации, предполагающей, что это выполнимо.
Несколько связано (похожая проблема, другая платформа): Примите диалог разрешения браузера с помощью behat/mink
1 ответ
Хотя вы не можете программно нажать кнопку разрешения, CasperJS/SlimerJS позволит вам использовать собственный профиль для автоматизированного экземпляра Firefox, который вы используете в своих тестах. По крайней мере, в случае запросов разрешения WebRTC/getUserMedia, Firefox позволяет отключить их в настройках профиля.
Вот что ты делаешь. В вашей оболочке используйте SlimerJS для создания нового профиля:
slimerjs --createprofile nameOfYourNewProfileGoesHere
Ваш новый профиль был создан в вашем каталоге профилей Firefox. Чтобы найти каталог, вы можете либо найти имя профиля, которое вы только что создали, либо перейти к Firefox и Help Menu > Troubleshooting Information
, Рядом с "Папкой профиля" нажмите "Показать в Finder" (или эквивалент для вашей платформы).
Ваш профиль - это каталог с таким именем asfd1234.nameOfYourNewProfileGoesHere
Внутри этого каталога отредактируйте prefs.js
файл и добавьте эту строку:
user_pref("media.navigator.permission.disabled", true);
Теперь, когда вы запускаете свои скрипты CasperJS (или SlimerJS напрямую, я полагаю - я проверял это только через Casper), вам просто нужно указать профиль. С CasperJS:
casperjs test --engine=slimerjs -P nameOfYourNewProfileGoesHere nameOfYourTestFile.js
Это почти слишком просто!;)