httprunner 25ファイルのアップロードマルチパート/フォームデータを学習

序文

httprunnerアップロードファイルインタフェースは、実際には、インタフェースの要求にアップロードファイルが同じである、Pythonのインターフェースシリーズの前に例がある
16-multipart / form-dataのアップロード写真を自動化するためのインタフェースのpythonは、

ファイルアップロードマルチパート/フォームデータ

シオマネキ捕捉と、キャッチインターフェースを表示する、インタフェースはそのマルチパート/フォームデータ

  • コンテンツタイプ:マルチパート/フォームデータ
  • この形式の身体パラメータ:

----------------------------- 22165374713946
コンテンツディスポジション:フォームデータ; 名前= "は、localUrl"

yoyoketang.png
----------------------------- 22165374713946
コンテンツディスポジション:フォームデータ; 名前=「imgFile」。ファイル名= "yoyoketang.png"
のContent-Type:画像/ PNG

Pythonコード対応

アップロード写真

ファイル=パラメータを指定してアップロードファイルが要求を受け入れるようにすると、要求タイプパラメータは、辞書には、我々は、キャプチャファイルで見るようなキャプチャステッチリクエストパラメータにシオマネキ、によれば、 パラメータ

コンテンツディスポジション:フォームデータ; 名前=「imgFile」。ファイル名= "yoyoketang.png" のContent-Type:画像/ PNG

名前=値のキーは、(リストのタイプがあってもよい)後、「imgFile」、値のタプルが値型であり、その後、あります

  • 最初のパラメータはファイル名です:「xxx.jpg」
  • オープン(「ファイルパス」、「RB」):二番目のパラメータのような、オブジェクトファイルを開くために開放されています
  • 第三のパラメータは、ファイル・タイプ後のContent-Typeに対応する値である:画像/ PNG
 # 上海悠悠,QQ交流群:750815713
import requests

s = requests.session()  # 保持会话

# 上车文件地址
url1 = "http://127.0.0.1:81/zentao/file-ajaxUpload-5a26aca290b59.html?dir=image"

f ={
    "localUrl": (None,"1.png"),
    "imgFile": ("1.png", open("d:\\1.png", "rb"), "image/png")
  }
r = s.post(url1, files=f)
try:
    jpgurl = base+r.json()["url"]
    print(u"上传图片后的url地址:%s"%jpgurl)
except Exception as msg:
    print(u"返回值不是json格式:%s"%str(msg))
    print(r.content)

httprunnerスクリプト

上記のスクリプトはhttprunnerは、スクリプトを書く行く、によって決定する実行された場合は、次のように単にサンプルリクエストです

 # 上海悠悠,QQ交流群:750815713
-   config:
        name: 上传文件
        variables: {}
-   test:
        name: files
        request:
            files:
                imgFile: ['name35.jpg', '${get_file()}','image/jpeg']
            headers:
                Authorization: Bearer 登陆的token
                User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
            method: POST
            url: http://x.x.x.x/path/files
        validate:
        -   eq:
            - status_code
            - 200
        -   eq:
            - headers.Content-Type
            - application/json;charset=UTF-8

debugtalk.pyファイルに記述されたファイルを読み込むためのGET_FILE()メソッド

# debugtalk.py

# 读取文件内容
def get_file(filePath="name35.jpg"):
    return open(filePath, "rb")

filePathにファイル名と同じディレクトリに、絶対パスを記述しないディレクトリを直接書き込むことができます場合は、画像のアドレスを入れて

おすすめ

転載: www.cnblogs.com/yoyoketang/p/11863610.html