如何在特定浏览器下忽略测试?

时间:2013-09-17 22:31:42

标签: cucumber selenium-webdriver capybara

我的黄瓜套装可以在Firefox和Chrome上运行。其中一些需要浏览器调整大小,这在Chrome中处理起来很糟糕。由于需要调整大小的行为不需要跨浏览器测试,我想在检测到的浏览器是Chrome时忽略它们。有没有办法做到这一点?也许有钩子或在台阶?我正在调整Before和After钩子的大小。

2 个答案:

答案 0 :(得分:0)

我不知道您使用的是哪个网络驱动程序,但对于watir-webdriver,您可以执行以下操作:

您可以使用以下网址中的代码确定要跳过的步骤中的浏览器。

http://watirwebdriver.com/determining-which-browser/

确定它是铬后,您可以跳过该特定步骤。

答案 1 :(得分:0)

在测试助手中,您可以添加以下方法:

def use_chrome_driver
  Capybara.register_driver :selenium_chrome do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome)
  end
  Capybara.current_driver = :selenium_chrome
end

def setup
  Capybara.current_driver = :selenium
end

您的所有测试都将使用selenium默认webdriver,然后当您需要使用Chrome时,只需在测试开始时调用use_chrome_driver方法,如下所示:

def test_login_with_chrome
  use_chrome_driver
  ...
end

您也可以使用正确的浏览器大小向您的助手添加您的firefox驱动程序,并将其设置为默认的selenium浏览器。