我有一个硒测试,需要在一定大小的窗口上完成。我已经想出了如何设置窗口大小,但我需要确保它在完成后总是被重置。我的问题是两方面的。
- 如何将窗口重置为默认大小。
即使测试失败,如何确保重置始终运行。我可以使用“救援”吗?
def test_nav_mobile page.visit "/foo/bar" page.driver.browser.manage.window.resize_to(500,500) #Perform the test... #Resize here? end
我有一个硒测试,需要在一定大小的窗口上完成。我已经想出了如何设置窗口大小,但我需要确保它在完成后总是被重置。我的问题是两方面的。
即使测试失败,如何确保重置始终运行。我可以使用“救援”吗?
def test_nav_mobile
page.visit "/foo/bar"
page.driver.browser.manage.window.resize_to(500,500)
#Perform the test...
#Resize here?
end
您可以执行以下操作:
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
意味着您只希望线路在出现问题时运行。