【发布时间】:2019-08-25 20:41:28
【问题描述】:
我已升级到 Protractor 6.0.0 和 Jasmine 3.3.1,并且必须重做所有测试才能异步运行。
当我的量角器测试完成运行时,最后出现无法解释的错误。没有测试失败,但该过程似乎异常中止。我在最新的 webdriver 中运行 Chrome 73,我不得不专门降级到 Chrome 73 webdriver,因为 74 仍处于测试阶段。
这是测试运行的快照:
测试套件 1 测试
√ should check first thing √ should check second thing √ should display another thing执行了 94 个规范中的 3 个未完成(89 个已跳过)。 C:\Users\Joon\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:3190 抛出参数[0]; ^
NoSuchSessionError:会话 ID 无效(驱动程序信息: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),平台=Windows NT 10.0.17134 x86_64) 在 Object.checkLegacyResponse (C:\Users\Joon\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:585:15) 在 parseHttpResponse (C:\Users\Joon\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:533:13) 在 Executor.execute (C:\Users\Joon\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:468:26) 在 在 process._tickCallback (internal/process/next_tick.js:188:7)
没有额外的错误消息,我发现的唯一一个具有相同错误消息的其他 SO 帖子之后也有额外的 promise denied 错误。
如何调试/排除导致此错误的原因?
【问题讨论】:
-
会话 id 是指由 selenium (webdriver) 启动并在您的自动执行期间使用的浏览器实例。通常,当您运行测试的浏览器已关闭时,会收到该错误。您是否手动使用
browser.restarts或browser.close? -
@DublinDev 不,没有重新启动或关闭的调用,但是有一些 browser.wait 调用在升级过程中我没有在前面放置等待,然后导致同步问题在测试运行结束时使用浏览器状态管理。我在所有对 browser.wait 的调用中添加了等待调用,问题就消失了。
标签: selenium protractor