因此,当我单独运行测试时,它们工作得很好。但是,当我运行我的功能(多个测试)时,我的代码失败了。
这是因为当 capybara 存在时,并不是我所有的窗口都在关闭,因此我的 selenium 驱动程序不知道要使用哪个窗口。
基本上,正在发生的事情是我的测试正在打开多个窗口。发生这种情况是因为我的测试是单击打开新窗口的链接并检查新窗口中的内容。即使我page.quit
在每次测试结束时说,此功能也不会关闭所有打开的窗口(关闭活动窗口但不关闭原始窗口)。当第二次测试运行时,它使用了最初创建的窗口,但是当它打开新的弹出窗口时,它使用了错误的窗口。
如何确保在每次测试期间都在使用新浏览器,并且之前测试中的所有窗口都已关闭。
我目前正在使用page.reset!
和page.quit
。
不确定,但我可以说session.quit
关闭所有打开的浏览器窗口吗?