i trying run tests made webdriverjs , chromedriver need microphone permissions.
this popup shows up:
i have tried:
    chromedriver.start(['--disable-popup-blocking']);     driver = new webdriver.builder()     .withcapabilities(webdriver.capabilities.chrome())     .build(); but didn't work.
i tried
    driver.wait(until.alertispresent(), config.timeout, 'alert did not show up');     driver.switchto().alert().accept(); it did not work either! guess not ordinary alert.
useful links:
how give them permissions programatically?
is there flag or other way around this?
a fresh profile loaded each time run selenium, hence changes make preferences , website permissions not preserved between sessions. amend need tell selenium profile load.
step 1. find chrome preferences file: www.forensicswiki.org/wiki/google_chrome#configuration
step 2. copy folder default somewhere. assume copied /some/path/allow-mic/default.
alternative step 3 (this easier): before copying default visit localhost:1337 chrome , set mic allow.
step 3. edit allow-mic/default/preferences, find tags "profile", "content_settings" , "exceptions" within each other , add
"media_stream_mic":{"http://localhost:1337,*":                                           {"last_used":1470931206,                                            "setting":1} }, to "exceptions". should end like:
... "profile":{      ...      "content_settings": {          ...          "exceptions": {              ...              "media_stream_mic":{"http://localhost:1337,*":                                       {"last_used":1470931206,                                        "setting":1} },              ...          },     }, }, ... step 4: configure selenium use edited preferences:
var chromedriver = require('chromedriver'); var webdriver = require('selenium-webdriver'); var chrome = require('selenium-webdriver/chrome');  var opts = new chrome.options();                    opts.addarguments("user-data-dir=/some/path/allow-camera");  var driver = new chrome.driver(opts); you can check correct set of preferences (profile path) in use opening chrome://version/.

Comments
Post a Comment