-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Protractor 1.1.0: IE fails with "Unable to get browser" error on start #1223
Comments
Were you updating from 1.0? Do other browsers work? Do you see the browser appearing before closing, or does it never open at all? Our IE tests are passing on Travis (https://travis-ci.org/angular/protractor/jobs/33211817) |
I upgraded protractor master branch today and all my IE11, IE10, IE9 tests as passing ok. @mhentgesarrow you could try running your own selenium with other version than '2.42.2' to narrow the problem . |
This is rather peculiar, as using the same versions of selenium and IEDriver as I was with 1.0.0. Due to this, I'm going to hold off on attempting to my own selenium server as this appears to be a Protractor discrepancy. If possible, I'd like to narrow down the exactly where things go south rather than working around it. For my live, actual tests I'm just sticking with 1.0.0 for know. Also, I didn't update directly from Protractor 1.0.0. I'm still figuring out the tricks of Also: oops, sorry, didn't give the full description of how this happens: I neglected to put the |
Update: found the exact issue where things hit the fan. If I don't use the |
Thanks for the more detailed info, that's super helpful. The issue is in step #4. Internet Explorer doesn't support Data URLs - so Protractor has a check which doesn't use a data URL if the browser is IE. It seems like that isn't working for you for some reason! Here's the relevant code: https://github.com/angular/protractor/blob/master/lib/runner.js#L184 If you could, it would be awesome if you could put a couple of logging statements in there to see what's going wrong. |
Operation IDon'tKnowWhatI'mDoing is a go |
I'd love to see the output of changing that to: driver.getCapabilities().then(function(caps) {
// Internet Explorer does not accept data URLs, which are the default
// reset URL for Protractor.
// Safari accepts data urls, but SafariDriver fails after one is used.
var browserName = caps.get('browserName');
console.log('********* BROWSER NAME: ' + browserName);
if (browserName === 'internet explorer' || browserName === 'safari') {
browser.resetUrl = 'about:blank';
}
}); |
|
Can I provide any more information to help make IE a testable browser again? |
Ah I'm sorry, I never saw the edit to the comment above. I'm not sure why your browser name is Are you still seeing this line in the webdriver executable output?: |
Julie, can I revise my answer? I went full oops above, it did actually detect IE.
The full output of webdriver:
Finally, if you want to check that I didn't pull another oops, here's the anonymous function related to getting driver capabilities: driver.getCapabilities().then(function(caps) {
// Internet Explorer does not accept data URLs, which are the default
// reset URL for Protractor.
// Safari accepts data urls, but SafariDriver fails after one is used.
var browserName = caps.get('browserName');
console.log('********* XTREME BROWSER NAME: ' + browserName);
if (browserName === 'internet explorer' || browserName === 'safari') {
browser.resetUrl = 'about:blank';
}
}); |
Can you try following the instructions about 'For IE 11 only' on this page: https://code.google.com/p/selenium/wiki/InternetExplorerDriver |
FYI here is the bug documented on selenium: https://code.google.com/p/selenium/issues/detail?id=6511 |
If nothing works you can also try switching to 32 bits IEDriver: http://selenium-release.storage.googleapis.com/2.42/IEDriverServer_Win32_2.42.0.zip |
And even if all that didn't yet work, try following this instructions: http://elgalu.github.io/2014/run-protractor-against-internet-explorer-vm/#step4 |
For the sake of reference: I've tried both the 32bit and the 64bit driver. I'm using IE11 |
Here's my big question though: why does my current configuration work perfectly with Protractor 1.0.0, but not 1.1.0 or 1.1.1? |
That's a good question, very little code related to the webdriver bin has changed - are you sure that it works perfectly with 1.0.0? |
I can completely verify that it works with 1.0.0. |
Does it still fail (on either version) if you start up the server using |
I am using the separate However! Quick backstory time: Now, I'm going to see if I can reproduce the problem using just the Protractor 1.0.0 library, then will move up the commits until I find out where my life fell apart. |
Thank you! It would be great to know when 1.1 is breaking stuff. |
@mhentgesarrow, out of curiosity, which "Following the instructions for IE setup made IE work" fixed it? |
Disabling "Protected Mode" for all zones did the trick for me. |
Just an update: IE is working completely fine. This is pretty strange. |
Thanks, I was asking because I never needed to configure the 'For IE 11 only' registry edit stuff so I'm not including that in the blog page. |
Another note: I have a VM that has the same issue. It:
|
I'm going to do my debugging and things separately. This is essentially fixed: Follow the instructions for configuring IE. |
thumbs up for the last link by mhentgesarrow. Got to know about that zoom level was more than 100 in my ie browser. and also about the new registry key that I have to make . that fixed my problem of unable to get browser and other errors |
"On IE 7 or higher on Windows Vista or Windows 7, you must set the Protected Mode settings for each zone to be the same value. The value can be on or off, as long as it is the same for every zone. To set the Protected Mode settings, choose "Internet Options..." from the Tools menu, and click on the Security tab. For each zone, there will be a check box at the bottom of the tab labeled "Enable Protected Mode"." Uncheck all boxes |
After updating to Protractor 1.1.0, IE will no longer start.
The config file that I am using is:
Running protractor with IE as a browser causes the following output:
The webdriver executable also provides a whole lot of information:
The text was updated successfully, but these errors were encountered: