我有一个硒测试,我需要用一定大小的窗口来完成。我已经弄清楚如何设置窗口大小,但我需要确保它在完成后总是被重置。我的问题是双重的。
即使测试失败,如何确保重置ALWAYS仍然运行。我可以使用“救援”吗?
def test_nav_mobile
page.visit "/foo/bar"
page.driver.browser.manage.window.resize_to(500,500)
#Perform the test...
#Resize here?
end
答案 0 :(得分:3)
您可以执行以下操作:
def test_nav_mobile
# Store the original height/width
orig_height = page.driver.browser.manage.window.size.height
orig_width = page.driver.browser.manage.window.size.width
# Do stuff at smaller browser size
page.visit "/foo/bar"
page.driver.browser.manage.window.resize_to(500,500)
#Perform the test...
ensure
# Resize browser back to original size
page.driver.browser.manage.window.resize_to(orig_height,orig_width)
end
几点说明:
ensure
确保始终调整原始大小 - 即是否存在异常或没有异常。使用rescue
意味着只有在出现问题时才能运行该行。