【发布时间】:2012-06-01 07:50:47
【问题描述】:
因此,当我单独运行测试时,它们运行良好。但是,当我运行我的功能(多次测试)时,我的代码失败了。
这是因为当 capybara 存在时,并不是我所有的窗口都在关闭,因此我的 selenium 驱动程序不知道要使用哪个窗口。
基本上,发生的事情是我的测试打开了多个窗口。发生这种情况是因为我的测试是单击打开新窗口的链接并检查新窗口中的内容。尽管我在每次测试结束时都说page.quit,但此功能并未关闭所有打开的窗口(关闭活动窗口但不关闭原始窗口)。当第二次测试运行时,它使用了最初创建的窗口,但是当它打开新的弹出窗口时,它使用了错误的窗口。
如何确保在每次测试期间都使用新浏览器并关闭上一次测试的所有窗口。
我目前正在使用page.reset! 和page.quit。
不确定,但我可以说session.quit 关闭所有打开的浏览器窗口吗?
【问题讨论】: