我可以让量angular器使用安装在node_modules中的IEDriverServer.exe webdriver-update吗?

我正在为我的angular度web应用程序项目写验收testing。 他们通过量angular器运行,并在铬上工作得很好。 但是,当我尝试在Internet Explorer 11上运行它们时,我得到一个失败,抱怨:“驱动程序可执行文件的path必须由webdriver.ie.driver系统propery设置”。 但是,我有我的项目configuration为下载IE驱动程序与chromedriver可执行文件相同的地方。

虽然我确定可以将IE驱动程序改变为存储在我的PATH envvariables中的文件夹,但是项目中的每个开发人员都必须执行相同的操作,或更新其PATH指向驱动程序。

我的问题是 – 是否有一个简单的configuration,我错过了使这个IE驱动程序可用于量angular器就像Chrome的驱动程序是?

我的package.json:

{ //... "scripts": { "webdriver-update": "webdriver-manager update --ie", "preacceptance-tests": "npm run webdriver:update -- --standalone", "acceptance-tests": "protractor", //... } 

我的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 }; 

我运行“npm run acceptance-tests”,将chromedriver.exe和IEDriverServer.exe下载到我的node_modules / protractor / selenium文件夹中。 量angular器似乎意识到了这个chromedriver,但为什么不能看到IEDriverServer呢?

我似乎无法find任何地方的答案,除了手动指向我的path到这个文件夹。 似乎我不应该如果量angular器可以findchromedriver …

据我所知,从检查selenium源,只有一个解决方法。

如果在当前工作目录中存在一个名为IEDriverServer.exe的可执行文件(显式选中,并且可以使用process.cwd()查询),那么将select该实例并绕过PATH检查(错误消息是一点误导)。

您可以在这里和这里遵循Selenium源代码中的逻辑。