如何在水豚中使用fill_in(如果可能的话)
我想要做以下事情,但不能由于fill_in期待locator作为第一个参数的性质。
find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10"
我也尝试过
element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element.<method> , :with => "10"
但是没有方法返回任何数据来标识fill_in的元素。
任何想法通过正则expression式find一个字段的最佳方式与fill_in一起使用?
从内存中走,所以可能不是100%正确的,但我想如果你有一个引用元素本身,你会使用set
而不是fill_in
:
find(:css, "input[id$='donation_pledge_hundreds']").set("10")
但是,对于您的具体示例, fill_in
应该能够find元素,因为您知道它是ID:
fill_in 'donation_pledge_hundreds', with: "10"
而不是一个方法,你可以使用括号来返回:name
或:id
,例如element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element[:name], :with => "10"
同样的方法可以使用select
– select my_type, from: find('select[name$="[type]"]')[:name]
find("input[id$='donation_pledge_hundreds']").set "10"
值得注意的是,你可以链接你的发现。
@modal = find(".modal") @modal.find('input[name=foo]').set "bar"
fill_in <$id>, :with => 'text you want to fill in'