我在Rails应用程序中有一个使用tokenInput jQuery插件的表单。为了测试表单,我添加了poltergeist作为js驱动程序并将js: true
添加到规范中。但是,只要我在任何给定的规范上启用javascript,click_button
操作就不会执行任何操作。我在控制器的第一行放置了一个puts
,它永远不会被执行。
表单在浏览器中作为用户正常工作,并且测试在没有js: true
的情况下正常执行。但是,如果未启用JavaScript,我无法使用tokenInput
字段。
没有错误消息;如果我的测试只是:
spec 'test something', js: true do
visit new_projects_path
click_button 'Create Project'
end
它过去了;但是,永远不会到达控制器。
每次我使用恶作剧者运行规范时,我都会收到这些警告:
2013-11-05 07:39:42.087 phantomjs [5629:507] * 警告:方法 类NSView中的userSpaceScaleFactor在10.7及更高版本上已弃用。 它不应该用在新的应用程序中。使用convertRectToBacking: 代替。 2013-11-05 07:39:42.502 phantomjs [5629:507] CoreText 性能说明:客户端使用名称调用CTFontCreateWithName() “Times New Roman”并获得PostScript名称的字体 “TimesNewRomanPSMT”。为获得最佳性能,请仅使用PostScript名称 在调用此API时。 2013-11-05 07:39:42.502 phantomjs [5629:507] CoreText性能说明:设置断点 CTFontLogSuboptimalRequest进行调试。 2013-11-05 07:39:42.588 phantomjs [5629:507] CoreText性能说明:客户端调用 CTFontCreateWithName()使用名称“Times New Roman”并获得字体 PostScript名称“TimesNewRomanPSMT”。为获得最佳性能,请仅使用 调用此API时的PostScript名称。 2013-11-05 07:39:42.590 phantomjs [5629:507] CoreText性能说明:客户端调用 CTFontCreateWithName()使用名称“Times New Roman”并获得字体 PostScript名称“TimesNewRomanPSMT”。为获得最佳性能,请仅使用 调用此API时的PostScript名称。
我也尝试过使用capybara-webkit的规格,只要点击表单按钮就死了。它从来没有打过控制器。
以下是ProjectsController#new
= form_for project do |f|
%div.row
%div.large-3.columns
%label
%strong Name:
%div.large-6.columns
= f.text_field :name, { placeholder: "Name" }
%div.large-3.columns
%div.row
%div.large-3.columns
%label
%strong Description:
%div.large-6.columns
= f.text_area :description, { placeholder: "Description", class: "long" }
%aside.instruction
This field accepts Markdown formatted text
%div.large-3.columns
%div.row
%div.large-3.columns
%label
%strong Short Description:
%div.large-6.columns
= f.text_area :short_description, { placeholder: "Short Description", class: "short"}
%div.large-3.columns
%div.row
%div.large-3.columns
%label
%strong Source:
%div.large-6.columns
=f.text_field :source, { placeholder: "Link to source or \"Closed\"" }
%div.large-3.columns
%div.row
%div.large-3.columns
%label
%strong Technologies:
%div.large-6.columns
= f.text_field :technology_tokens, data: { load: @project.technologies }
%div.large-3.columns
%div.row
%div.large-6.large-centered.small-6.small-centered.columns
= f.submit
Ruby 2,Rails 4,OS X Mavericks
答案 0 :(得分:0)
我换回了capybara-webkit,这次工作了。我不相信我改变了什么;有可能更新了一些内容,这是一个短暂的不兼容性?
我很确定警告是Qt的事情;他们最近开始出现给大家。我以为我会把它们包括在内,以防我在里面遗漏了一些东西。