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 ...
随机推荐
- 【原】django实现列表分页功能
在view.py里添加分页查询方法: from django.http import JsonResponse from django.views.decorators.http import req ...
- C# 动态类型 以及 脚本调用(scriptRunTime)
在使用中让我感觉 好像 JavaScript中的 动态类型囧 先看动态类型 class Program { static void Main(string[] args) { var streamRe ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- 前x个数据中至少有m个元素最小值与最大值之差不超过K
题意 给一组数据,从左到右开始,寻找最小的x,使得第1个元素到第x个元素中,至少存在m个数据,最小值与最大值之差不超过K. INPUT 第一行是T,代表数据组数 每组数据的第一行是三个整数,n.m.k ...
- DVWA实验之Brute Force(暴力破解)- Medium
DVWA实验之Brute Force(暴力破解)- Medium 有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2046/p/10928380. ...
- 【代码学习】PHP面向对象之封装与继承
一.封装(访问控制) 就是将属性私有,并提供公有的setter放置与getter取值方法注:封装是进行访问控制,不是拒绝访问 public(公有) protected(受 ...
- python 语法-参数注释
python 语法-参数注释 最近碰到的这样的代码: def func(a:"shuoming") -> int: print("函数已运行.") fun ...
- mDNS故障排查(译)
WLC上mDNS网关的理解及排查 第一部分:介绍 这篇文档描述了Bonjour协议在WLC上的操作,该文档旨在协助工程师理解该工作流量的原理以及提供故障排查的指导. 第二部分:需求和前提 知识需求: ...
- php虚拟主机配置( 输入网址 对应 ip地址)
1.启动http_vhost.conf文件 在httpd-conf中,#virtual hosts 去掉前面的井号 # Includeconf/extra/httpd_vhost.conf 2.配置h ...
- html js中的引号
content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...