gpt4 book ai didi

javascript - 巫术/ capybara : Cannot log in with :js => true

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:48 26 4
gpt4 key购买 nike

我使用 capybara 已经有一段时间了,但我对巫术还是个新手。我有一个非常奇怪的问题,如果我在没有 Capybara 的 :js => true 功能的情况下运行规范,我可以正常登录,但如果我尝试在规范上指定 :js => true,则无法找到用户名/密码。

这是身份验证宏:

module AuthenticationMacros
def sign_in
user = FactoryGirl.create(:user)
user.activate!
visit new_sessions_path
fill_in 'Email Address', :with => user.email
fill_in 'Password', :with => 'foobar'
click_button 'Sign In'
user
end
end

在规范中这样调用:

feature "project setup" do
include AuthenticationMacros

background do
sign_in
end

scenario "creating a project" do
"my spec here"
end

上面的代码工作正常。但是,如果我更改场景规范(在本例中)

scenario "adding questions to a project" do

scenario "adding questions to a project", :js => true do

登录失败,“用户名/密码不正确”组合。从字面上看,唯一的变化是 :js => true。我正在使用默认的 capybara javascript 驱动程序。 (加载 Firefox)

知道这里会发生什么吗?我完全被难住了。我使用的是 Capybara 2.0.1,Sorcery 0.7.13。登录页面上没有 javascript,在单击“登录”之前保存并打开页面确认在用户名/密码字段中输入了正确的详细信息。非常感谢任何建议 - 我不知所措。

最佳答案

根据 capybara 文档,默认的 capybara javascript 驱动程序是 Selenium。因为 Selenium 在单独的线程中执行,所以您必须禁用事务固定装置,否则 Selenium 线程将无法访问您在数据库中创建的数据。参见 https://github.com/jnicklas/capybara#using-capybara-with-testunit .该部分包含有关禁用事务固定装置的注释。

关于javascript - 巫术/ capybara : Cannot log in with :js => true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13872947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com