我是黄瓜和水豚的菜鸟,所以请耐心等待。
我正在尝试设置一个使用chrome和firefox作为测试平台的黄瓜项目。到目前为止,我已经通过测试来处理chrome,但不是在Firefox上。
以下是代码段:
require 'uri'
require 'net/http'
require 'fileutils'
require 'selenium-webdriver'
require File.dirname(__FILE__) + '/throttle.rb'
#CAPYBARA
require 'capybara/cucumber'
require 'capybara/session'
#require 'capybara-webkit'
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.register_driver :selenium_firefox do |app|
Capybara::Selenium::Driver.new(app, :browser => :firefox)
end
driver = case ENV['BROWSER']
when 'chrome'
:chrome
when 'firefox'
:selenium_firefox
when 'webkit'
:webkit
when 'ie'
:internet_explorer
else
:chrome
end
Capybara.default_driver = driver
Capybara.javascript_driver = :selenium_firefox
Capybara.run_server = false
Capybara.default_selector = :css
然后,为了测试,我只是简单地访问了一下(“http://www.google.com”)。
如果我将浏览器参数设置为chrome,则可以正常工作。黄瓜打开镀铬并自动输入“www.google.com”,加载页面没有问题。
然而,当我把它设置为firefox:$ cucumber features / test.feature BROWSER = firefox,它没有用。它确实打开了firefox浏览器,但没有任何内容自动输入到URL框中。
所以,我必须在设置过程中遗漏一些我不知道的东西。我一直在网上寻找解决方案(需要'selenium webdriver',将'selenium webdriver'放入我的Gemfiles等),但到目前为止没有一个对我有用。
我在这里缺少什么?为什么visit()没有自动填充firefox的URL框,但它对chrome有用吗?
感谢您的帮助。