手动POST请求

时间:2010-01-21 23:47:18

标签: ruby cucumber watir

场景:我已登录网站,获取了Cookie等,进入了一个带有表单+隐藏字段的特定网页。我现在希望能够使用我自己的隐藏表单数据而不是网页上的内容创建我自己的http帖子,并验证响应而不是使用网页上的响应。

原因:针对预先存在的数据(我知道,我知道)进行测试,这些数据在每个环境中都可能不同,因此没有可预测的方法来使用它。我们需要一种解决方法。

有没有办法在不手动编辑现有表单并提交的情况下执行此操作?感觉有点'hacky'。

理想情况下,我想说的是:

browser.post'url','field1 = test& field2 = abc'

1 个答案:

答案 0 :(得分:3)

我可能会在协议级别切换到机械化。像这样的东西添加到你的脚本

b = WWW::Mechanize.new
 b.get('http://yoursite.com/current_page') do |page|
 # Submit the login form
 my_form = page.form_with(:action => '/post/url') do |f|
   f.form_loginname  = 'tim'
   f.form_pw         = 'password'
 end.click_button
end