robotframework-接口測試詳解(附件上傳)

接上篇文章,寫下接口需要上傳附件要怎麼做,直接先上代碼,下面再詳細解釋

    ${data}    Get From Dictionary    ${content}    data    #獲取data信息
    ${tokenId}    Get From Dictionary    ${data}    tokenId    #tokenId
    ${file1}    Evaluate    (r'a.xlsx', open(r'D:/ProgramData/workhome/rf-workhome/lllll/orsd.xlsx', 'rb'),'excel/xlsx')
    &{files1}    Create Dictionary    file1=${file1}
    &{files}    Create Dictionary    &{files1}    &{files2}
    log    ${files}
    &{datas}    Create Dictionary    tokenId=${tokenId}
    Create Session    API    ${HOST}
    ${res}    Post Request    API    /file/v2/upload-file    data=${datas}    files=${files}
    Comment    log    ${res.text}

如上面的代碼,主要是

 ${file1}    Evaluate    (r'a.xlsx', open(r'D:/ProgramData/workhome/rf-workhome/lllll/orsd.xlsx', 'rb'),'excel/xlsx')

python官方推薦的格式

{ 
 "field1" : ("filename1", open("filePath1", "rb")), 
 "field2" : ("filename2", open("filePath2", "rb"), "image/jpeg"), 
 "field3" : ("filename3", open("filePath3", "rb"), "image/jpeg", {"refer" : "localhost"}) 
}

這個字典的key就是發送post請求時的字段名, 而字典的value則描述了準備發送的文件的信息;從上面可以看出value可以是2元組,3元組或4元組;

這個元組的每一個字段代表的意思一次爲:

("filename", "fileobject", "content-type", "headers")

缺省的話就使用默認值,同時request還支持一種簡單的格式

{ 
 "field1" : open("filePath1", "rb")), 
 "field2" : open("filePath2", "rb")), 
 "field3" : open("filePath3", "rb")) 
}

上面的亦可寫成

 ${file1}    Evaluate    (open(r'D:/ProgramData/workhome/rf-workhome/lllll/orsd.xlsx', 'rb'))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章