用水豚填充隐藏的田地

时间:2014-06-28 15:47:12

标签: ruby-on-rails ruby testing capybara

我正在进行集成测试,我必须填充一些隐藏的字段。这个问题似乎没有被考虑在内

it "submits project form" do
    page.all("#project_description", :visible => false).set(@project.description)
    click_button  "submit"
    expect(page).to have_content @project.description
end

问题是我在启动任务Description can't be blank时收到此错误消息。我确信hidden field已找到,但填充没有完成。我该如何解决? (我将Capybara.ignore_hidden_elements设置为false

1 个答案:

答案 0 :(得分:2)

它可能不是最好的解决方案,但您可以使用javascript完成。例如,如果您使用的是jQuery:

page.execute_script "$('#project_description').val('#{@project.description}')"

如果'中有一些@project.description个字符,则需要将它们转义(请参阅JavaScriptHelper,不知道如何在集成测试中使用它。)