Capybara无法找到"文章[标题]"和"文章[正文]",在以下特征测试中:
feature "Creating Articles" do
scenario "A user creates a new article" do
visit '/'
click_link("New Article")
fill_in "article[title]", with: "title"
fill_in "article[body]", with: "article body"
click_button "Create Article"
expect(page).to have_content "title"
expect(page).to have_content "article body"
end
这两个字段在页面源代码中显示为<input class="form-control" type="text" name="article[title]" id="article_title">
和<textarea class="form-control" name="article[body]" id="article_body" cols="60" rows="12"></textarea>
但RSpec一直显示此错误。
Capybara::ElementNotFound:
Unable to find field "article[title]"
感谢您的帮助!
答案 0 :(得分:-1)
使用fill_in
描述符的id可能会更好。 fill_in
对其参数使用描述符,因此这些表单中的任何一个都应该起作用:
fill_in "article_title", with: "title"
fill_in "article_body", with: "article body"
或
fill_in "id=article_title", with: "title"
fill_in "id=article_body", with: "article body"
有关各种描述符的有用说明,请参阅此Selenium Tutorial。我保留这个标记为你的情况。