在我的rails应用中,我使用的是rails_admin。我想填补一段感情。比方说,帖子属于作者。我想设置作者。 rails_admin使用自动完成表单来选择此数据,即xhr。如何使用capybara选择值并提交此数据。正常选择在这里不起作用。
我假设我需要采取以下行动
还是有其他方法来填充这些数据,即执行脚本等。 但是我该怎么做?
修改:
截至目前,我已开始使用硒驱动器,并且我使用以下解决方案
within '#post_user_id_field' do
find(".input-group-btn").click
end
page.execute_script(%q{$("ul#ui-id-3").find("li")[1].click()})
建议一些更好的方法。
提前致谢,
答案 0 :(得分:0)
我看了Using Capybara with RSpec我发现了一些有用的信息。如果没有看到任何代码,您可以执行以下操作(从上面的链接获取):
describe 'some stuff which requires js', :js => true do
it 'will use the default js driver'
it 'will switch to one specific driver', :driver => :webkit
end
这将在您的测试中启用javascript。如果您仍然无法选择,可以通过在测试代码中放置save_and_open_screenshot
来查看javascript驱动程序看到的内容,从而进行一些调试。
答案 1 :(得分:0)
你是如何做的真的取决于页面上的html,但基本上归结为
find(:css, 'selector for the caret').click
find(:css, 'selector for the dropdown elements', text: 'text of the dropdown element to be selected').click
并确保您使用的是支持JS的驱动程序 - https://github.com/jnicklas/capybara#drivers
注意:如果Capybara.default_selector ==:css(默认情况下这样做),则不需要查找调用中的css