SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.7k stars 8.19k forks source link

Microsoft Edge not accepting URL authentication #1440

Closed simi823 closed 8 years ago

simi823 commented 8 years ago

I cannot get Microsoft Edge on Windows 10 to work with my test that builds the URL with username/password as follows: uat_browser_page = "http://" + UAT_USERNAME + ":" + UAT_PASSWORD + "@" + browser_page context.browser.get(uat_browser_page)

I get the following error: Traceback (most recent call last): File "/Users/sasaro/dev/qadev/repos/autos_sauce_behave/asb/lib/python2.7/site-packages/behave/model.py", line 1456, in run match.run(runner.context) File "/Users/sasaro/dev/qadev/repos/autos_sauce_behave/asb/lib/python2.7/site-packages/behave/model.py", line 1903, in run self.func(context, _args, *_kwargs) File "features/steps/affiliate.py", line 77, in step context.browser.get(uat_browser_page) File "/Users/sasaro/dev/qadev/repos/autos_sauce_behave/asb/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 213, in get self.execute(Command.GET, {'url': url}) File "/Users/sasaro/dev/qadev/repos/autos_sauce_behave/asb/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute self.error_handler.check_response(response) File "/Users/sasaro/dev/qadev/repos/autos_sauce_behave/asb/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 181, in check_response raise exception_class(message, screen, stacktrace) WebDriverException: Message: unknown error (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 16 milliseconds Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16' System info: host: 'WIN-SB3ER6JQ6ME', ip: '172.20.43.26', os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.8.0_51' Driver info: org.openqa.selenium.edge.EdgeDriver Capabilities [{acceptSslCerts=true, browserVersion=20.10240.16384.0, platformVersion=10, browserName=MicrosoftEdge, takesScreenshot=true, pageLoadStrategy=normal, takesElementScreenshot=true, platformName=windows, platform=ANY}] Session ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXX35B05046 Stacktrace: at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (None:-2) at sun.reflect.NativeConstructorAccessorImpl.newInstance (None:-1) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (None:-1) at java.lang.reflect.Constructor.newInstance (None:-1) at org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java:206) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:595) at org.openqa.selenium.remote.RemoteWebDriver.get (RemoteWebDriver.java:306) at sun.reflect.NativeMethodAccessorImpl.invoke0 (None:-2) at sun.reflect.NativeMethodAccessorImpl.invoke (None:-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke (None:-1) at java.lang.reflect.Method.invoke (None:-1) at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke (EventFiringWebDriver.java:102) at com.sun.proxy.$Proxy1.get (None:-1) at org.openqa.selenium.support.events.EventFiringWebDriver.get (EventFiringWebDriver.java:160) at org.openqa.selenium.remote.server.handler.ChangeUrl.call (ChangeUrl.java:40) at org.openqa.selenium.remote.server.handler.ChangeUrl.call (ChangeUrl.java:1) at java.util.concurrent.FutureTask.run (None:-1) at org.openqa.selenium.remote.server.DefaultSession$1.run (DefaultSession.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1) at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1) at java.lang.Thread.run (None:-1)

I tried to separate the authentication into a switch to Alert, but it occurs after getting the URL and it fails.

jimevans commented 8 years ago

The Selenium project does not maintain the driver for Microsoft Edge. You'll need to file a report with Microsoft for issues concerning the Edge driver. However, having said that, since Internet Explorer does not support the <scheme>://<user>:<password>@<domain> construct for passing credentials, I would not expect Edge to either. Furthermore, since the wire protocol authentication end point is documented for neither the open-source dialect of the protocol, nor for the W3C standard dialect of the protocol, I'd be very surprised if the Edge driver supported those either.