6

WebTest を使用して画像のアップロードをテストする方法を知っている人はいますか? 私の現在のコードは次のとおりです。

form['avatar'] =('avatar', os.path.join(settings.PROJECT_PATH, 'static', 'img', 'avatar.png'))
res = form.submit()

応答で、「有効な画像をアップロードしてください。アップロードしたファイルは、画像ではないか、破損した画像でした。」というエラーが表示されます。

どんな助けでも大歓迎です。

4

3 に答える 3

6

パワーは正しかった。残念ながら(またはそうではない)、ウェブテストのデバッグに30分費やした後、彼の答えを見つけました。もう少し情報があります。

ファイルへのパスのみを渡そうとすると、次の例外が発生します。

webtest/app.py"、1028 行目、_get_file_info 内

ValueError: upload_files は (fieldname, filename, filecontent) または (fieldname, filename) のタプルのリストである必要があります。あなたが与えたもの: ...

問題は、タプル送信にフィールド名を自動的に追加し、3 アイテムのタプルを 4 アイテムのタプルにすることを教えてくれないことです。最終的な解決策は次のとおりです。

avatar = ('avatar',
           file(os.path.join(settings.PROJECT_PATH, '....', 'avatar.png')).read())

まともな例がないのは残念ですが、これが他の人にも役立つことを願っています)

于 2012-12-04T22:19:15.030 に答える