1. 程式人生 > >接口自動化實現圖片上傳(selenium/RF)

接口自動化實現圖片上傳(selenium/RF)

herf ict 上傳圖片 帶圖片 amp 怎麽 top .get imp

最近做自動化碰到一個問題:

就是帶圖片上傳的不知道怎麽實現自動化:整理了下實現如下:

上傳圖片postman 結果請求如下,上傳圖片後返回一個圖片地址:

post請求 body 是form-data 而不是json

技術分享圖片

fiddler抓取如下,

技術分享圖片


selenium實現如下:【也可以參考悠悠的帶token驗證登錄的:https://www.cnblogs.com/yoyoketang/p/7990127.html】

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import os
#需要將需要上傳的圖片文件放到當前文件路徑才能讀取
def fileUpload(apiurl,fileName,targetid):
# url ="http://gateway-test.myscrm.cn/panther-third/v1/file/img/upload"
url =apiurl
pwd= os.getcwd() #取當前文件夾路徑
filepath = os.path.join(pwd,fileName) #將當前文件夾下面的文件拼接成可以讀取的文件路徑
f1 ={
"target": (None,targetid),
# "file": ("logo3x.png", open("C:/Users/zhengw/Desktop/otherFile/logo3x.png", "rb"), "image/png")
"file": ("logo3x.png", open(filepath, "rb"), "image/png")
}
r1 = requests.post(url, files=f1)
print filepath
print r1.content

# if __name__ == "__main__":
# apiurl = "http://gateway-test.myscrm.cn/panther-third/v1/file/img/upload"
# fileName ="logo3x.png"
# targetid = "8"
# fileUpload(apiurl,fileName,targetid)


RF實現上傳

技術分享圖片

*** Settings ***
Library RequestsLibrary
Library requests
Resource ../Basics/基礎關鍵字.txt
Library ../config/sc.py
Library C:/Python27/Lib/site-packages/ykpy/sc.py

*** Test Cases ***
1
[Documentation] \#${targetid}
[Setup] # 上傳類型id
${file} Evaluate ("logo3x.png", open("C:/Users/zhengw/Desktop/otherFile/logo3x.png","rb"), "image/png")
${target} Evaluate (None,u"8")
Comment ${rrrr} Evaluate os.getcwd()
Comment Log Many asdsadasdsa ${rrrr}
&{data} Create Dictionary file=${file} target=${target}
Create Session api http://gateway-test.myscrm.cn/panther-third
${request} Post Request api /v1/file/img/upload files=&{data}
log ${request.status_code}
log ${request.content}

接口自動化實現圖片上傳(selenium/RF)