gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:13:28 24 4
gpt4 key购买 nike

我正在为我的 Angular Web 应用程序项目编写验收测试。它们通过 Protractor 运行,并且在 chrome 上运行得很好。但是,当我尝试在 Internet Explorer 11 上运行它们时,出现错误,提示“驱动程序可执行文件的路径必须由 webdriver.ie.driver 系统属性设置”。但是,我的项目配置为将 IE 驱动程序下载到与 chromedriver 可执行文件相同的位置。

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

我的问题是 - 是否缺少一个简单的配置来使这个 IE 驱动程序像 Chrome 的驱动程序一样可供 Protractor 使用?

我的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 文件夹中。 Protractor 似乎能够识别 chromedriver,但为什么它看不到 IEDriverServer?

除了手动将我的路径指向此文件夹之外,我似乎无法在任何地方找到答案。如果 Protractor 可以找到 chromedriver,我似乎不必这样做...

最佳答案

据我检查 Selenium 源代码所知,只有一种解决方法。

如果当前工作目录中存在名为 IEDriverServer.exe 的可执行文件(已明确检查该目录,并且您可以使用 process.cwd() 进行查询),则该实例将被选择并绕过 PATH 检查(错误消息有点误导)。

您可以按照Selenium源码here中的逻辑进行操作和 here .

关于angularjs - 我可以让 Protractor 使用安装在node_modules中的IEDriverServer.exe webdriver-update吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com