0

我有一个硒测试,需要在一定大小的窗口上完成。我已经想出了如何设置窗口大小,但我需要确保它在完成后总是被重置。我的问题是两方面的。

  1. 如何将窗口重置为默认大小。
  2. 即使测试失败,如何确保重置始终运行。我可以使用“救援”吗?

    def test_nav_mobile
       page.visit "/foo/bar"
       page.driver.browser.manage.window.resize_to(500,500)
       #Perform the test...
       #Resize here?
    end
    
4

1 回答 1

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

几点注意事项:

  1. 您想用来ensure确保始终调整为原始大小 - 即是否存在异常或没有异常。使用rescue意味着您只希望线路在出现问题时运行。
  2. 我认为没有任何默认尺寸,因此您可以在测试开始时存储尺寸,然后在最后调整尺寸。
于 2013-10-25T20:50:55.073 回答