我正在与Capybara一起为“用户可以将产品添加到购物清单”进行验收测试。 在我的设置中,我以用户身份登录,我可以点击当前的购物清单,并将其定向到包含新产品搜索输入的页面。
然后我要求点击按钮 click_button“搜索”
搜索是我的按钮的名称,是页面上显示的内容。当我运行实际程序时,一切正常,但是当我运行测试时,它一直告诉我它找不到搜索按钮。
我尝试在提交按钮上添加值而不是名称 我也试过传递按钮的id 我没有点击按钮,而是尝试将\ n添加到输入字段以输入
<form method="GET" action="products/show" />
<label for="search_input">Search Products:</label>
<input type="text" name="search_input" id="search_input_field" />
<input type="submit" value="Search" id="submit_search"/>
</form>
require 'spec_helper'
describe "a user can add a product to their shopping list" do
let!(:user_one) { FactoryGirl.create(:user) }
let!(:households) do
user_one.shopping_lists.create!({
title: "households",
date: Date.today
})
end
it "will add product to the list" do
login(user_one)
click_link "View Shopping Lists"
click_link "households"
fill_in "search_input_field", with: "toothpaste"
# save_and_open_page
click_button "Search"
# expect(page).to
# first(:button, "Add Item").click
# expect(page).to have_button "Delete"
end
def login(user)
visit root_path
fill_in :email, with: user.email
fill_in :password, with: user.password
click_button "Login!"
end
end
答案 0 :(得分:0)
在您对按钮部分的测试中,请尝试使用
click_on 'Login'