gpt4 book ai didi

javascript - Selenium WebDriver 崩溃(WebDriverError : newSession) after about 70 seconds

转载 作者:行者123 更新时间:2023-11-30 14:22:32 25 4
gpt4 key购买 nike

我对我现有的工作项目开始发生的这个新错误感到困惑,即使我没有对代码进行任何更改来导致这种情况发生(但这可能是由于 FireFox 更新,或者依赖突然失败)。在它开始发生之后,我确实添加了 catch 来帮助调试导致突然退出的原因:

var prom = new Builder()
.forBrowser('firefox')
.build()
prom.catch((e) => {
console.log(e)
})
let driver: WebDriver = await prom

基本上,当我的代码到达这个代码块的最后一行时,它会弹出一个 FireFox 窗口,等待大约 70 秒(现在应该已经实现了 promise ),然后抛出一个错误,这会导致捕获并将其记录到控制台:

{ WebDriverError: newSession
at Object.throwDecodedError (\path\to\node_modules\selenium-webdriver\lib\error.js:550:15)
at parseHttpResponse (\path\to\node_modules\selenium-webdriver\lib\http.js:542:13)
at Executor.execute (\path\to\node_modules\selenium-webdriver\lib\http.js:468:26)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
name: 'WebDriverError',
remoteStacktrace: 'WebDriverError@chrome://marionette/content/error.js:178:5\nUnknownCommandError@chrome://marionette/content/error.js:472:5\ndespatch@chrome://marionette/content/server.js:290:13\nexecute@chrome://marionette/content/server.js:271:11\nonPacket/<@chrome://marionette/content/server.js:246:15\nonPacket@chrome://marionette/content/server.js:245:8\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:490:9\n' }

有趣的是,当使用 Visual Studio 检查 WebDriverError 对象时,它说它有一个消息属性“newSession”,由于某种原因没有被记录到控制台(或在我尝试时被字符串化)。

无论如何,这个错误的构造很糟糕,因为“newSession”没有告诉我足够的信息来追踪哪里出了问题。

谁能帮我确定等待 ~70 秒的是什么?

更新:我确定了它正在等待的 Web 请求(POST 到 http://localhost:51290/session,每次运行时端口都不同)。正是这个请求在 70 秒后超时。我可以通过将 {} 发送到 URL(它还会弹出一个 firefox 窗口)在外部应用程序(例如 SoapUI)中复制此超时。但是,如果我将 SoapUI 中的超时设置为非常大的值,则 JSON 响应当然是:

{"value": {
"error": "unknown error",
"message": "newSession",
"stacktrace": "WebDriverError@chrome://marionette/content/error.js:178:5\nUnknownCommandError@chrome://marionette/content/error.js:472:5\ndespatch@chrome://marionette/content/server.js:290:13\nexecute@chrome://marionette/content/server.js:271:11\nonPacket/<@chrome://marionette/content/server.js:246:15\nonPacket@chrome://marionette/content/server.js:245:8\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:490:9\n"
}}

我在想我需要调试 FireFox 端,谁能帮我着手做这件事?

最佳答案

我刚刚找到了解决该问题的方法。我的 Geckodriver 已经过时了。更新 GeckoDriver 解决了这个问题。

在 OSX 上我必须做的是:

brew uninstall geckodriver

然后

brew install geckodriver

希望对您有所帮助!

关于javascript - Selenium WebDriver 崩溃(WebDriverError : newSession) after about 70 seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507431/

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