如何在 Capybara 中填充隐藏的输入字段?
How do I populate a hidden input field in Capybara?
我在前端有以下代码:
%input#nonce{ type: "hidden", name: "#{param_prefix}[payment_method_nonce]" }
安迪我的水豚代码:
hidden_field = find_field("input#nonce", type: :hidden)
hidden_field.set "fake-apple-pay-visa-nonce"
我收到这个错误:
Capybara::ElementNotFound: Unable to find field "input#nonce" that is not disabled of type :hidden
如何在 Capybara 中设置输入隐藏字段的值?
TL;DR;你没有。
Capybara 模拟用户,用户不能填写隐藏字段,因此 Capybara 也不能。尝试这样做通常表明您在测试中做错了什么,并且可能意味着您正在执行的测试毫无意义(因为它不会复制用户正在做的事情)
如果您仍然觉得自己真的需要填写隐藏字段,则需要使用 execute_script
通过 JS 完成
我在前端有以下代码:
%input#nonce{ type: "hidden", name: "#{param_prefix}[payment_method_nonce]" }
安迪我的水豚代码:
hidden_field = find_field("input#nonce", type: :hidden)
hidden_field.set "fake-apple-pay-visa-nonce"
我收到这个错误:
Capybara::ElementNotFound: Unable to find field "input#nonce" that is not disabled of type :hidden
如何在 Capybara 中设置输入隐藏字段的值?
TL;DR;你没有。
Capybara 模拟用户,用户不能填写隐藏字段,因此 Capybara 也不能。尝试这样做通常表明您在测试中做错了什么,并且可能意味着您正在执行的测试毫无意义(因为它不会复制用户正在做的事情)
如果您仍然觉得自己真的需要填写隐藏字段,则需要使用 execute_script