requests---requests封装请求类型
我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把requests的请求类型都封装起来,这样编写用例的时候可以直接进行请求
requests方法封装
我们通常用的最多的是get和post请求类型,就先拿这两个请求进行举例写一些个人的思路(大佬勿喷!!!)
1、创建一个类,把get请求和post请求分别写成一个方法。方便调用
2、每个请求的参数可能不同,这个我们需要全部涉及到,可以通过**kwargs进行添加。
3、新建一个运行方法,判断请求类型。
import requests class TestRequests():
def get(self,**kwargs): '''封装get方法'''
# 获取请求参数
params = kwargs.get("params")
headers = kwargs.get("headers")
url = kwargs.get('url')
try:
result = requests.get(url=url,params=params,headers=headers)
return result
except Exception as e:
print("get请求错误: %s" %e) def post(self,url,**kwargs):
'''封装post方法'''
# 获取请求参数
params = kwargs.get("params")
data = kwargs.get("data")
json = kwargs.get("json")
files = kwargs.get("files")
try:
result = requests.post(url,params=params,data=data,json=json,files=files)
return result
except Exception as e:
print("post请求错误: %s" %e) def run_main(self, method, **kwargs):
'''
判断请求类型
:param method: 请求接口类型
:param kwargs: 填参数
:return: 接口返回内容
'''
if method == 'get':
result = self.get(**kwargs)
return result
elif method == 'post':
result = self.post(**kwargs)
return result
else :
print('请求接口类型错误') if __name__ == '__main__':
x =TestRequests()
result =x.run_main('post',url='http://apis.juhe.cn/simpleWeather/query',data={'key':'331eab8f3481f37868378fcdc76cb7cd','city':'上海'})
print(result.json())
通过执行后,直接可以看到已经请求成功了。后续可以直接通过调取方法,直接进行使用
安静简单的对requests请求类型进行封装,如果那里有不对的或者不懂的地方,可以直接下方留言,看到后第一时间回复~~
大佬们也可以帮助安静优化下代码哈~~共同学习,共同进步~~
requests---requests封装请求类型的更多相关文章
- Python 使用 requests 模块发送请求的使用及封装
一.requests 模块基本使用 1.准备接口的URL.请求参数.请求头 # 1. 构造注册.登录.充值请求的url register_url = "注册url" login_u ...
- 第四十节,requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...
- Python-网络爬虫模块-requests模块之请求
Python原生库urllib库不太方便使用,本着"人生苦短, 我用Python"的珍惜生命精神, 基于urllib, 开发了一个对人类来说, 更好使用的一个库——requests ...
- Python 2.7.x 使用Requests发起https请求时报Warning的问题
warning :如下 /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:852: ...
- 爬虫——控制台抓包和requests.post()发送请求
控制台抓包 打开方式及常用选项 1.打开浏览器,F12打开控制台,找到Network选项卡 2.控制台常用选项 1.Network: 抓取网络数据包 1.ALL: 抓取所有的网络数据包 2.XHR:抓 ...
- 接口自动化--requests库封装
前言 不管是自动化大佬还是自动化小白,都知道我们用python写接口自动化测试肯定是要用requests库来封装请求类的,下面就简单介绍下requests这个库 安装 一般都是直接采用pip命令安装: ...
- requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 一.下载 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/lates ...
- python requests函数封装方法
python requests函数封装方法 上代码 import requests import json """ 封装request请求, 1.post:my_pos ...
- 【Python】 requests 各种参数请求的方式
Python使用requests发送post请求 1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下: A:application/x-www-form ...
随机推荐
- 如何利用wx.request进行post请求
1,method 是 get 方式的时候,会将数据转换成 query string method 为 post 时,header为{"Content-Type": " ...
- maplotlib python 玩具绘图 横向纵向条状图
from matplotlib import font_manager#解决zh-han图形汉字乱码 my_font = font_manager.FontProperties(fname=" ...
- buuctf——facebook1
分为注册和登陆两个页面 据大佬wp登陆页面又盲注,但我没测试 直接注册后登陆 注册后发现,会显示输入的url 根据目录扫描,发现robots.txt和flag.php robots.txt有源码备份 ...
- 例题3_1 TeX中的引号(TeX Quotes,UVa 272)
在TeX中,左双引号是“``”,右双引号是“''”.输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式. 样例输入: "To be or not to be,"quoth ...
- PHP中数字转为百分位,千分位,万分位。。。
今天做项目中,需要将文章点击量显示在页面中,需求中给的是多少多少万,虽然不是什么难事,但做程序员这么久了,需要考虑的不再是简单的实现,而且有效率和快捷, 虽然PHP自带的函数有number_forma ...
- HDU 3081 Marriage Match II (二分+网络流+并查集)
注意 这题需要注意的有几点. 首先板子要快,尽量使用带当前弧优化的dinic,这样跑起来不会超时. 使用弧优化的时候,如果源点设置成0,记得将cur数组从0开始更新,因为有的板子并不是. 其次这题是多 ...
- 模仿虎牙App 导航栏切换
昨天看虎牙直播,发现导航栏挺有意思,自己也做个玩玩 <view class="tab_list row"> <view class="tab_item ...
- IKAnalyzer使用
1.分析器 所有分析器最终继承的类都是Analyzer 1.1 默认标准分析器:StandardAnalyzer 在我们创建索引的时候,我们使用到了IndexWriterConfig对象,在我们创建索 ...
- python字符串操作方法详解
字符串 字符串序列用于表示和存储文本,python中字符串是不可变对象.字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,一对单,双或三引号中间包含的内容称之为字符串.其中三引号可以由多 ...
- AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
一.引子 在前面对LabVIEW介绍的文章中,关于框架开发的内容涉及很少.为了讲解操作者框架(Actor Framework)的优缺点,也只是拿出来QDSM(Queue-Driven State Ma ...