我是黄瓜和水豚的菜鸟,所以请耐心等待.
我正在尝试设置一个使用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,则可以正常工作.黄瓜打开了chrome并自动输入"www.google.com",并且页面加载没有问题.
但是,我把它设置为firefox的那一刻:$ cucumber features/test.feature BROWSER = firefox,它没有用.它确实打开了firefox浏览器,但没有任何内容自动输入到URL框中.
所以,我必须在设置过程中遗漏一些我不知道的东西.我一直在网上寻找解决方案(需要'selenium webdriver',将'selenium webdriver'放入我的Gemfiles等),但到目前为止没有一个对我有用.
我在这里错过了什么?为什么visit()没有自动填充firefox的URL框,但它对chrome有用吗?
谢谢您的帮助.