I'm writing acceptance tests for my angular web application project. They're run via protractor, and work just fine on chrome. But when I try to run them on Internet Explorer 11, I get a failure complaining that "The path to the driver executable must be set by the webdriver.ie.driver system propery". However, I have my project configured to download the IE driver to the same place as the chromedriver executable.
While I'm sure I could move the IE driver excutable to a folder stored in my PATH env variable, then every developer on the project would have to do the same or update their PATHs to point to the driver.
My question is - is there a simple configuration I'm missing to make this IE driver available to protractor just as Chrome's driver is?
My package.json:
{
//...
"scripts": {
"webdriver-update": "webdriver-manager update --ie",
"preacceptance-tests": "npm run webdriver:update -- --standalone",
"acceptance-tests": "protractor",
//...
}
My protractor.conf.js:
exports.config = {
baseUrl: 'http://localhost:3000/',
specs: [
'src/**/**test.ts',
'src/**/*test.ts'
],
capabilities: {
'browserName': 'internet explorer' //If I put chrome here, the tests pass
},
onPrepare: function() {
browser.ignoreSynchronization = true;
},
seleniumServerJar: "node_modules/protractor/selenium/selenium-server-standalone-2.51.0.jar",
useAllAngular2AppRoots: true
};
I run "npm run acceptance-tests", and chromedriver.exe and IEDriverServer.exe are downloaded to my node_modules/protractor/selenium folder. Protractor seems to be aware of the chromedriver, but why can't it see the IEDriverServer?
I can't seem to find an answer anywhere, other than manually pointing my PATH to this folder. It seems like I shouldn't have to if protractor can find the chromedriver...