【发布时间】:2021-05-21 19:44:52
【问题描述】:
我编写了一组测试,并且每个测试都可以正常工作(对于每个测试,我创建了单独的文件 - 这对我的情况很重要),但是当我尝试将它们全部一起运行时,我遇到了一些问题:
起初我尝试在每次测试后使用“restartBrowserBetweenTests: true” 选项重新启动浏览器,但结果我收到下一个错误:
失败:此驱动程序实例没有有效的会话 ID(您是 调用 WebDriver.quit()?) 并且可能不再使用。
我阅读了一些针对这种情况的建议,但没有任何帮助。
基本上,我可以不重新启动浏览器,但在这种情况下,我想在每次测试后关闭所有活动选项卡,我也不知道该怎么做。借助此功能:
browser.getAllWindowHandles().then((handles) => {
browser.driver.switchTo().window(handles[1]);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
我可以关闭活动选项卡并返回上一个选项卡,但该功能只有在我将此代码放在测试规范中时才有效,这对我来说不舒服(为每个测试复制它)并且如果我从带有函数的特殊文件中调用它由于
,它无法正常工作“失败:没有这样的窗口:目标窗口已经关闭 来自未知错误:未找到 Web 视图”
错误(丢失上下文的结果)。
【问题讨论】:
标签: protractor