【发布时间】:2015-07-17 04:10:24
【问题描述】:
我一直在尝试为 https 页面创建一个带有“js: true”的功能规范。
我正在使用 Rails4.2 + rspec + capybara + poltergeist。
我可以毫无问题地使用 capybara + poltergeist 测试 http 页面。但是,我找不到用 capybara + poltergeist 测试 https 页面的方法。
谁能指导我如何做到这一点?
spec/rails_helper.rb
require 'capybara/rspec'
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(
app,
phantomjs_options: [
'--debug=no',
'--load-images=no',
'--ignore-ssl-errors=yes',
'--ssl-protocol=TLSv1'
],
debug: false
)
end
https_spec.rb
require 'rails_helper'
RSpec.feature 'https' do
let(:admin) { create(:admin) }
scenario 'display admin dashboard', js: true do
login_as(admin, scope: :user)
visit admin_dashboard_index_path
expect(page).to have_text('TEST')
end
end
我收到这条消息
Failures:
1) https display admin dashboard
Failure/Error: Unable to find matching line from backtrace
RuntimeError:
tried to create a new session when on http, but https is required
【问题讨论】:
标签: ruby-on-rails rspec capybara