Firefox WebDriver 不允许在异步脚本中等待

问题描述 投票:0回答:1

我有一个简单的 Web 应用程序,带有一组附带的 Selenium 测试。在每个测试运行之前,我通过运行

executeAsyncScript
来获取用户对象,如下所示:

String getUserScript = "const callback = arguments.at(-1);\n" +
                       "const user = await fetch('/user');\n" +
                       "callback(user);";
jsExecutor.executeAsyncScript(getUserScript);

当使用 Chrome 或 Edge 作为浏览器运行时,效果非常好,但是当我使用 Firefox 尝试时,测试失败并出现以下错误:

语法错误:await 仅在异步函数、异步生成器和模块中有效

我知道,一般来说,您需要将函数标记为

async
才能在其中使用
await
。但在这种情况下,在使用 Chrome 或 Edge 时,它可以正常工作,而无需将我的脚本包装在毫无意义的额外
async
函数中。 Firefox 是唯一对此有所抱怨的浏览器,所以我想知道我是否可能缺少任何 Firefox WebDriver 首选项或设置来允许该脚本按原样工作?谢谢。

javascript java selenium-webdriver firefox selenium-firefoxdriver
1个回答
0
投票

我也有同样的问题,有解决办法吗?

© www.soinside.com 2019 - 2024. All rights reserved.