0

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

4

2 回答 2

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 浏览器。

于 2013-09-19T09:11:11.277 回答
0

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

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

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

一旦确定它是 chrome,您就可以跳过该特定步骤。

于 2013-09-19T00:04:31.950 回答