c# - Selenium Chrome 60 Headless Handle Basic Authentication SAML Dialog over HTTPS -
chrome 59 removed support https://user:password@example.com urls.
i have c# selenium test needs work chrome version 60 on windows in 'headless' mode
chromeoptions options = new chromeoptions(); options.addargument("headless"); driver = new chromedriver(chrome, options);
here saml authentication required dialog trying handle on windows:
based on answer given here: how handle authentication popup selenium webdriver using java) can see several workarounds handling in firefox, nothing chrome 60 in headless mode.
i've tried following code visiting url credentials before visiting url under test (without credentials) appears there bug chrome 60.
goto("http://user:password@localhost"); // caches auth, page blocked goto("http://localhost"); // uses cached auth, page renders fine // continue test normal
i can see following code in firefox handles authentication , dialog never pops up: firefoxprofile profile = new firefoxprofile(); profile.setpreference("network.automatic-ntlm-auth.trusted-uris", "https://saml.domain.com"); profile.enablenativeevents = false;
i've tried second approach (using autoit) , works on chrome 60 not work on chrome 60 in headless mode.
//use autoit wait 4 seconds authentication required dialog appear au3.sleep(4000); //use autoit send in credentials app.config encrypted au3.send(username + "{tab}" + password + "{enter}"); //refresh page driver.navigate().refresh();
i hoping there better solution in 2017 , there approach work chrome 60 in headless mode, pointers?
just clear: trying use embedded credentials not work using chrome v59+ because sub-resource requests blocked.
Comments
Post a Comment