【发布时间】:2011-11-21 11:50:19
【问题描述】:
我正在尝试使用 Cucumber 和 Capybara 测试 authenticate_or_request_with_http_basic 方法,但它不起作用。
有什么建议吗?
授权控制器:
before_filter :authorize
def show
flash[:notice] = 'Welcome back!'
end
private
def authorize
authenticate_or_request_with_http_basic do |username, password|
username == "admin" && password == "password"
end
end
黄瓜功能:
Scenario: Successful login
When I log in as "admin" with "password"
Then I should see "Welcome back!"
黄瓜步:
When /^I log in as "([^\"]*)" with "([^\"]*)"$/ do |username, password|
visit authorization_path
authorize username, password
end
错误信息:
expected there to be content "Welcome back!" in "HTTP Basic: Access denied.\n" (RSpec::Expectations::ExpectationNotMetError)
我也尝试过使用以下命令,但它也不起作用:
page.driver.browser.basic_authorize(username, password)
【问题讨论】:
-
你能澄清一下“不起作用”吗?您需要向我们解释如何它不起作用。您在什么时候收到什么错误消息?有堆栈跟踪吗?它在日志中说什么?等等
-
Taryn,页面给出了一个 HTTP 基本:访问被拒绝,因为用户无法被授权。我可以通过浏览器登录就好了。如果我通过浏览器跳过授权,我会收到与黄瓜显示的相同的错误消息。
标签: ruby-on-rails cucumber capybara