gpt4 book ai didi

rspec - 如何用 capybara 填充隐藏字段?

转载 作者:行者123 更新时间:2023-12-03 05:48:56 25 4
gpt4 key购买 nike

我已经发现,当我想为文本字段、文本区域或密码字段设置值时,我可以使用 id、名称或标签作为 somethingfill_in something, :with => some_value 。但是,当我尝试将值设置为 <input type="hidden"> 时,这种方法会失败。字段(我想这样做,因为这些通常是我单独测试的客户端脚本)。我怎么能用 capybara 设置这样一个隐藏字段呢?可能吗?

HTML:

<input id='offer_latitude' name='offer[latitude]' type='hidden'>
<input id='offer_longitude' name='offer[longitude]' type='hidden'>

规范:

describe "posting new offer" do
it "should add new offer" do
visit '/offer/new'
fill_in 'offer[latitude]', :with => '11.11'
fill_in 'offer[longitude]', :with => '12.12'
click_on 'add'
end
end

给出:

1) posting new offer should add new offer
Failure/Error: fill_in 'offer[latitude]', :with => '11.11'
Capybara::ElementNotFound:
cannot fill in, no text field, text area or password field with id, name, or label 'offer[latitude]' found

最佳答案

您需要找到隐藏字段并设置其值。有几种方法,这可能是最简单的

find(:xpath, "//input[@id='my_hidden_field_id']").set "my value"

如果您在生产中执行客户端脚本,您可以告诉 capybara 使用兼容 JavaScript 的驱动程序运行它

page.execute_script("$('hidden_field_id').my_function()")

关于rspec - 如何用 capybara 填充隐藏字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10804897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com