1

シナリオ: Web サイトにログインし、Cookie などを取得し、フォームと隠しフィールドのある特定の Web ページにアクセスしました。Webページにあるものではなく、独自の非表示のフォームデータを使用して独自のhttp投稿を作成し、Webページ上のものを使用する代わりに応答を確認できるようにしたいと考えています。

理由:環境ごとに異なる可能性がある既存のデータ (知っている、知っている) に対するテストであるため、予測可能な使用方法がありません。回避策が必要です。

既存のフォームを手動で編集して送信せずにこれを行う方法はありますか? 少し「ハッキー」に感じます。

理想的には、次のようなことを言いたいです。

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

4

1 に答える 1

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
于 2010-01-22T13:32:06.227 に答える