如何解决尝试使用 Selenium Grid 运行 Microsoft Edge 测试,SessionNotCreatedError
我目前正在尝试使用 javascript 和 selenium-webdriver 设置 Selenium Grid。我有我的集线器和节点设置,目前在 Chrome 和 Firefox 上运行了成功的测试。但是,我在为 Microsoft Edge 设置测试时遇到了一些麻烦。只是一个拉起谷歌并打印标题的测试。
const { Builder } = require("selenium-webdriver");
const edge = require("selenium-webdriver/edge");
let opts = new edge.Options();
(async function helloSelenium() {
let driver = new Builder()
.usingServer("http://XX.XX.XX.XX:4444/wd/hub")
.forbrowser('edge')
.setEdgeOptions(opts)
.build();
try {
await driver.get('http://www.google.com')
.then(() => driver.getTitle())
.then(title => console.log(title))
}
finally {
await driver.quit();
}
})();
我得到的错误显示在集线器的命令提示符上(节点中没有显示任何内容)。显示如下:
(node:8956) UnhandledPromiseRejectionWarning: SessionNotCreatedError: Unable to create session from {
"desiredCapabilities": {
"browserName": "edge","se:CONfig_UUID": null
},"capabilities": {
"firstMatch": [
{
"browserName": "edge"
}
]
}
}
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:25:53'
System info: host: 'MDEV',ip: 'XX.XX.XX.XX',os.name: '....',os.arch: 'x86',os.version: '10.0',java.version: '1.8.0_291'
Driver info: driver.version: unkNown
at Object.checkLegacyResponse (C:\Users\Administrator\Documents\sel-testing\node_modules\selenium-webdriver\lib\error.js:553:15)
at parseHttpResponse (C:\Users\Administrator\Documents\sel-testing\node_modules\selenium-webdriver\lib\http.js:634:13)
at Executor.execute (C:\Users\Administrator\Documents\sel-testing\node_modules\selenium-webdriver\lib\http.js:568:28)
at processticksAndRejections (internal/process/task_queues.js:93:5)
(node:8956) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block,or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection,use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
关于 Microsoft Edge 在 JS Selenium Grid 中的使用,我没有找到太多,所以我来这里寻求帮助。
任何帮助将不胜感激!
编辑
我按照 Yu Zhou 的建议尝试使用 Node Config,但现在出现不同的错误:UnhandledPromiseRejectionWarning: SessionNotCreatedError: Unable to create new service: EdgeDriverService
我尝试使用一个不同的函数,它使用@microsoft/edge-selenium-tools 而不是 selenium-webdriver,如下所示:
const edge = require("@microsoft/edge-selenium-tools");
let options = new edge.Options().setEdgeChromium(true);
let driver = new edge.Driver().createSession(options);
运行时,这会创建一个 Edge 会话,但是我还没有找到将它发送到我的 Selenium Grid 的方法。有人可以帮助我这样做,或者就我的旧代码中的新错误提供指导吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。