ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

接口自动化_Requests库

2022-07-26 17:00:26  阅读:206  来源: 互联网

标签:传参 None res 接口 json 自动化 Requests data requests


一、Requests第三方库

requests库用用来发送http协议请求以及接收http协议响应的第三方库,主要用于接口自动化测试

安装:pip install requests

  

二、requests方法:

  requests.get()    发送get请求

  requests.post()   发送post请求

  requests.delete()   发送delete请求

  requests.put()   发送put请求

  requests.request()   最核心的方法

def request(
self,
method,  #请求方式
url,  #请求路径
params=None,  #get请求参数
data=None,  #post请求和get请求传参
   json=None,  #post请求传参
headers=None,  #请求头
cookies=None,  #cookie信息
files=None,  #文件上传
--------------------------------------------
auth=None,  #鉴权
timeout=None,  #超时
allow_redirects=True,  #是否运行重定向
proxies=None,  #设置代理
hooks=None,  
stream=None,  #文件下载
verify=None,  #ssh认证
cert=None,  #CA证书
):

  requests.session()   创建会话对象

requests.get(url,params=None,**kwargs)

requests.post(url,data=None,json=None,**kwargs)

data和json传参的区别:

postman中:

  1.请求的参数是:from-data   代表是表单传参或者文件上传  ,type=file

  Content-Type:multipart/form-data 

  2.请求的参数是:x-www-form-urlencoded  代表是表单传参 ,(k1=1&k2=2)

  Content-Type:application/x-www-form-urlencoded    (data传参)

  3.请求的参数是:raw,代表原始格式传参

  Content-Type:text:text/plain    (data传参)

         javascript:application/javascript

         json:application/json    (json传参)

         html:text/html

         xml:application/xml

  4.请求的参数是:binary,代表原始格式传参

  Content-Type:application/octent-stream

 

 

 

python中:

data传参表示表单传参,默认的请求头:Content-Type:application/x-www-form-urlencoded,请求参数的格式:k1=1&k2=2,参数是纯键值对的字典,如:(key1:value1,key2:value2)   

data传参表示文本传参:默认请求头:Content-Type:text/plain,参数:str类型

json传参表示用json格式传参,默认的请求头:json:application/json,参数是字典类型,包括键值对和列表的字典类类型

三、response返回对象

  res.text  返回接口的文本信息

  res.content  返回bytes字节类型数据

  res.json()  返回字典格式数据

  res.start_code  返回状态码

  res.reason  返回状态信息

  res.cookie  返回cookie信息

  res.encoding  返回编码格式

  res.headers  返回响应头

  res.resquest.xxx  返回请求的数据

四、Requests实战:

  json.dumps()    把字典转化成字符串

  json.loads()  把字符串转化成字典

import requests
class TestDemo:
# 类变量 获取token实现接口关联
token = ""

def test_get_token(self):
url = "http://192.168.20.102:180/flexbase/api/w/logon/login"
data = {
"username": "102_180",
"password": "1"
}
res = requests.request("post", url=url, data=data)
print(res.json())
TestDemo.token = res.json()['data']['token'] # json提取器获取token
# Test_demo.token = re.search('"token" : "(.*?)"', res) 正则表达式获取token
print(TestDemo.token)

标签:传参,None,res,接口,json,自动化,Requests,data,requests
来源: https://www.cnblogs.com/tfxbk/p/16520874.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有