Jas*_*son 8 ruby selenium capybara
因此,当我单独运行测试时,它们运行良好.但是,当我运行我的功能(多次测试)时,我的代码失败了.
这是因为当水豚存在时,并非我的所有窗户都关闭,因此我的硒司机不知道使用哪个窗口.
基本上,正在发生的是我的测试是打开多个窗口.发生这种情况是因为我的测试是点击链接,这些链接打开新窗口并检查新窗口中的内容.即使我page.quit
在每次测试结束时说,此功能并未关闭所有打开的窗口(关闭活动窗口但不关闭原始窗口).当第二个测试运行时,它使用最初的创建窗口,但是当它打开新的弹出窗口时,它会使用错误的窗口.
如何确保在每次测试期间使用新浏览器,并关闭上一次测试的所有窗口.
我目前正在使用page.reset!
和page.quit
.
不确定,但我可以说session.quit
关闭所有打开的浏览器窗口吗?
此代码有效:
page.execute_script "window.close();"
Run Code Online (Sandbox Code Playgroud)
我只是在我要关闭的窗口中执行此操作.
请尝试以下操作:
page.driver.browser.window_handles.each do |handle|
page.driver.browser.switch_to.window(handle)
page.quit
end
Run Code Online (Sandbox Code Playgroud)
(我认为它会起作用,但我还没有机会测试它。)
归档时间: |
|
查看次数: |
8134 次 |
最近记录: |