python电源自动化测试_python自动化测试_7

接口测试:

文件下载:

Content-Type: octets/stream 一般为文件类型:

将返回数据,导入excel 表格存储

1406024-20180609165556754-435678322.png

1406024-20180609165549571-1859443189.png

文件上传:

# 文件上传:content-Type: multipart/form-data类型

import requests

class SendFile():

def __init__(self, s):

self.s = s

def sendImg(self, jpgpath, jpgname='1.jpg', jpgtype='image/jpeg'):

# 登录并更新cookies

f = open('1.jpg', 'rb') # 绝对路径

url2 = ''

body = {

'localurl': (None, jpgname),

'imgFile': ('1.jpg', open(jpgpath, 'rb'), jpgtype)

# 1、绝对路径 2、open('1.jpg', 'rb') 3、content-type的值

}

# 上传图片的时候,不data和json,用files

r = self.s.post(url2, files=body) # 1、调用全局的s,用self.s 2、files

print(r.text)

# 上传到服务器,每传一次地址都不一样

# 解决抛异常

try:

jpg_url = r.json()['url'] # (相对路径)

print(jpg_url)

return jpg_url

except Exception as msg: # 返回报错信息

print('图片上传失败,原因:%s'%msg) # 打印报错信息

# raise # 主动抛原始异常

# raise ··· # 抛出异常内容为:“···”

return ''

if __name__=='__main__':

s = requests.session()

from test.test_009_003_zentaologin import LoginZentao

# 调登录方法

login = LoginZentao(s) # 实例化类LoginZentao为对象

login.login()

# 上传文件

send = SendFile(s) # 把类sendfile()实例化为对象

send.sendImg() # 调用sendfile()里面的sendImg方法

1406024-20180609170513035-122001616.png

测试:

import unittest

import requests

from test.test_009_003_zentaologin import LoginZentao # 从文件夹.文件名导入LoginZentao类

from test.test_009_002_sendfile import SendFile # 从文件夹.文件名导入sendfile类

import os

# 获取文件路径

parpath = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) # 定位当前文件夹

jpgpath = os.path.join(parpath, 'testdata', '1.jpg') # “testdata”:存放文件的文件夹名,“1.jpg”:文件名

class TestSendFile(unittest.TestCase):

@classmethod

def setUpClass(cls):

cls.s = requests.session()

# 实例化调用的类

cls.login = LoginZentao(cls.s ) # 实例化类LoginZentao为对象

cls.send = SendFile(cls.s) # 把类sendfile()实例化为对象

def test_01(self):

# 上传文件:第一步,登录

self.login.login()

# 第二步,传文件

result = self.send.sendImg(jpgpath)

# 第三步:断言:返回的结果里面包含'.jpg'

self.assertIn('.jpg', result)

1406024-20180609170636066-1053252393.png

上传多个文件:

files = [("1.png", "1.png")

("2.png", "2.png")

]

def addFiles(files, n=1):

file = []

for i in list(range(n)):

a =("files[]", (files[i][1], open(files[i][2], "rb"), "image/png"))

b = ("labels[]", (None, '附件标题1')),

("files[]", ("2.png", open("d:\\2.png", "rb"), "image/png")),

("labels[]", "tu2"),

file.append(a)

file.append(b)

return file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值