Capybara 没有方法错误
No method error for Capybara
我想在标签字段中添加标签。要填写标签字段,我必须添加 ','
,或者使用标签名称按回车键,例如 "Ezgi,"
。我为它写了这些步骤。
When(/^I enter "([^"]*)" on Label field$/) do |arg1|
within('.x-anchor-form-item', :text=>'Label') do
find('.x-tagfield-body').click
fill_in('', :with=>arg1)
end
if page.has_css?('ul', :text=>arg1) then
within('ul',:text=>arg1) do
find('li', :text=>arg1).click
end
else
within('.x-anchor-form-item', :text=>'Label') do
find('.x-tagfield-body').native_send_keys(:enter)
end
within('.x-window-resizable', match: :first) do
find_all('a', :text=>'Save')[1].click
end
within('.x-anchor-form-item', :text=>'Label') do
find('.x-form-text-wrap.x-form-text-wrap-default').click
fill_in('', :with=>arg1)
end
within('ul',:text=>arg1) do
find('li', :text=>arg1).click
end
end
end
我试着写了这么多 类 来填补这个领域,但是那没有用。对于第11步,我查看了这样一条消息:
undefined method `native_send_keys' for #<Capybara::Node::Element:0x00000005119270> (NoMethodError)
有谁知道这个案例吗?有人可以帮助我吗?
水豚中没有方法native_send_keys
。您从中复制的代码可能正在调用 element.native.send_keys(...)
但您也不应该调用它。只需在所需元素上调用 send_keys
- http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#send_keys-instance_method 。在你的情况下是
find('.x-tagfield-body').send_keys(:enter)
鉴于所提供的信息,无法确定这是否真的适用于您尝试与之交互的控件,但它会解决 "no method error" 这个问题。
我想在标签字段中添加标签。要填写标签字段,我必须添加 ','
,或者使用标签名称按回车键,例如 "Ezgi,"
。我为它写了这些步骤。
When(/^I enter "([^"]*)" on Label field$/) do |arg1|
within('.x-anchor-form-item', :text=>'Label') do
find('.x-tagfield-body').click
fill_in('', :with=>arg1)
end
if page.has_css?('ul', :text=>arg1) then
within('ul',:text=>arg1) do
find('li', :text=>arg1).click
end
else
within('.x-anchor-form-item', :text=>'Label') do
find('.x-tagfield-body').native_send_keys(:enter)
end
within('.x-window-resizable', match: :first) do
find_all('a', :text=>'Save')[1].click
end
within('.x-anchor-form-item', :text=>'Label') do
find('.x-form-text-wrap.x-form-text-wrap-default').click
fill_in('', :with=>arg1)
end
within('ul',:text=>arg1) do
find('li', :text=>arg1).click
end
end
end
我试着写了这么多 类 来填补这个领域,但是那没有用。对于第11步,我查看了这样一条消息:
undefined method `native_send_keys' for #<Capybara::Node::Element:0x00000005119270> (NoMethodError)
有谁知道这个案例吗?有人可以帮助我吗?
水豚中没有方法native_send_keys
。您从中复制的代码可能正在调用 element.native.send_keys(...)
但您也不应该调用它。只需在所需元素上调用 send_keys
- http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#send_keys-instance_method 。在你的情况下是
find('.x-tagfield-body').send_keys(:enter)
鉴于所提供的信息,无法确定这是否真的适用于您尝试与之交互的控件,但它会解决 "no method error" 这个问题。