2

任意の編集 URL を要求し、フォーム内のすべてのデータを応答コンテキストで取得し、それを変更せずに同じ URL に POST するだけで、ビューをテストする一般的な django テストを作成したいと考えています。

django は、応答オブジェクトからこのすべてのフォーム データを取得する簡単な方法を提供していますか? 問題の 1 つは、フォームが response.context のどこにあるかわからないことです。

編集: 明確にする:- 応答 html にフォームが 1 つしかない場合は、ユーザーが単に送信ボタンを押した場合に送信されるフォーム内のすべてのデータを取得し、それを同じ URL に POST します。

その上で寝て、BeautifulSoupを使用して応答コンテンツを解析し、フォームを探してデータを抽出するのは簡単な解決策であり、response.context(例:テンプレートフォームをレンダリングする必要がないため、ユーザーが実際にフォームを表示しない可能性があります)。唯一の欠点は、少し遅くなることです。私は何百ものそのようなテストを実行しています。

より良いアイデアはありますか?

4

1 に答える 1

0

django-webtestを使用できますが、内部的には BeautifulSoup を使用したソリューションと同じです。

于 2014-11-19T09:15:35.920 に答える