GATEWAY TIMEOUT:无法使用Capybara / RSpec代码在Ubuntu默认Firefox浏览器上打开网页

时间:2016-02-20 00:40:08

标签: ruby rspec proxy capybara

我是Web开发和测试的新手。对于我在下面描述的测试问题的任何回复,我将不胜感激。

任务是在Ubuntu 12.04客户端操作系统上使用Firefox浏览器打开网页,并测试特定的输入/响应输出元素。测试脚本代码使用Capybara gem和RSpec gem。

我看到:使用bundle exec rspec page_test.rb,我看到网关超时504错误。

代码:这是为此目的而编写的代码。可以使用Firefox浏览器从主机打开远程URL。主机在bash shell env上设置了http_proxy服务器设置。

错误:

登录过程在

中签名
  

失败/错误:访问'/'

     

Selenium:WebDriver :: Error :: WebDriverError:意外响应,   code = 504,content-type =“text / html”

     

通知:GATEWAY TIMEOUT

代码:

require 'rspec'

require 'capybara'

require 'capybara/dsl'

require 'capybara/rspec'

require 'selenium-webdriver'



Capybara.run_server = false

Capybara.current_driver = :selenium

Capybara.register_driver :selenium do |app|

    profile = Selenium::WebDriver::Firefox::Profile.new

    profile["network.proxy.type"] = 1

    profile["network.proxy.http"] = "http://proxy.esl.corpserver.com"

    profile["network.proxy.http_port"] = 8888


    Capybara::Selenium::Driver.new(app, :profile => profile)

end


Capybara.app_host = 'http://192.168.205.69'

session = Capybara::Session.new(:selenium)

describe "the signin process", :type => :feature, :js => true do



    it "signs me in" do
        include Capybara::DSL

        visit '/'

        within("//form[@id='session']") do
            fill_in 'User Name', :with => 'admin'
            fill_in 'Password', :with => 'password'
        end

        click_button 'Sign in'

        fill_in 'input', :with => 'show server status'

        check 'json'
        check 'cli_show'
        click_button 'post'
        expect(find('#response_output')).to have_content('cli_show')

    end

end

请指出错误或建议到达远程URL服务器和测试元素的其他方法。

非常感谢! Mihyr

1 个答案:

答案 0 :(得分:0)

我在ubuntu 14.04上,我不得不将firefox从47降级到28,我把它放在我的gem文件中而不是使用最新版本。

gem 'selenium-webdriver', "2.48.0"

此链接帮助我降级:ubuntu how to downgrade-firefox