python自动化之传入文件以及其他请求

1.传参传入图片或其他类型的文件,如下

def test_file_upload(self): #定义一个上传文件的测试用例函数
url=“https://www.baidu.com”+TestSendRequest.access_token+
#url中的百度网址只是示范,实际需要网址后带?access token="参考上一次reuqests实战

#上传文件 ,既不能用data,也不能通过json传参,只能通过files形式传参,示范如下

data={
“media”:open(r"E:\图片.png",“rb”)
}
rep=requests.post(url=url,files=data) #将url的值传入,将data的值传入files参数中
print(rep.json)
#此时会打印出该图片的路径地址,通过网页浏览器打开该URL可以看到对应的图片

2.有部分get请求无请求参数,需要cookie关联,实例如下
def test_start(self):
url=“协议+IP+域名”
rep=requests.get(url=url)
print(rep.text) #返回该url的网页,html形式
#如果需要截取该html文本中的鉴权码csrf_token时,需要用正则表达式截取
#比如html中 ******

	#通过正则表达式获取鉴权码
	csrf_token=re.search('name="csrf_token" value="(.*?)" ',rep.text)[1])
	print(csrf_token) #此时返回7758258

3.请求需要带请求头的接口 post类型,入参为键值对类型
def test_login(self):
url=“xxxxx”
data={
入参
“csrf_token”=“输入上面截取的鉴权码”
}
headers={
根据接口文本填写

rep=requests.post(url=url,data=data,headers=headers)
print(rep.json()) #如果报错就rep.text看下,可能是请求头不对,或者这个用例函数中没有写headers入参

4.def test_login是一个失败案例,因为没有加cookie鉴权
#如果最终状态码返回失败,可能是没有做cookie鉴权导致的
#网页的借口基本上都要做cookie鉴权
#获取cookie
TestSendRequests.coks=rep.cookies
#将cookies保存为类变量形式的全局变量,然后在rep=requests.post(xxx)中加入cookies=TestSendRequests.coks
#rep=requests.post(url=url,data=data,headers=headers,cookies=TestSendRequests.coks)

你可能感兴趣的:(心得,python)