我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把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封装请求类型的更多相关文章

  1. Python 使用 requests 模块发送请求的使用及封装

    一.requests 模块基本使用 1.准备接口的URL.请求参数.请求头 # 1. 构造注册.登录.充值请求的url register_url = "注册url" login_u ...

  2. 第四十节,requests模拟浏览器请求模块初识

    requests模拟浏览器请求模块初识  requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...

  3. Python-网络爬虫模块-requests模块之请求

    Python原生库urllib库不太方便使用,本着"人生苦短, 我用Python"的珍惜生命精神, 基于urllib, 开发了一个对人类来说, 更好使用的一个库——requests ...

  4. Python 2.7.x 使用Requests发起https请求时报Warning的问题

    warning :如下 /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:852: ...

  5. 爬虫——控制台抓包和requests.post()发送请求

    控制台抓包 打开方式及常用选项 1.打开浏览器,F12打开控制台,找到Network选项卡 2.控制台常用选项 1.Network: 抓取网络数据包 1.ALL: 抓取所有的网络数据包 2.XHR:抓 ...

  6. 接口自动化--requests库封装

    前言 不管是自动化大佬还是自动化小白,都知道我们用python写接口自动化测试肯定是要用requests库来封装请求类的,下面就简单介绍下requests这个库 安装 一般都是直接采用pip命令安装: ...

  7. requests模拟浏览器请求模块初识

    requests模拟浏览器请求模块初识  一.下载 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/lates ...

  8. python requests函数封装方法

    python  requests函数封装方法 上代码 import requests import json """ 封装request请求, 1.post:my_pos ...

  9. 【Python】 requests 各种参数请求的方式

    Python使用requests发送post请求 1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下: A:application/x-www-form ...

随机推荐

  1. debug assertion failed问题解决

    运行过程中出现上述问题,后来发现是vector越界问题....解决办法:不要越界就好了...

  2. windows 域控用户记住最后一次登录用户名

    1,记住最后一次登录用户名 运行 gpedit.msc命令 禁用设置

  3. put、patch与post区别

    idempotent 幂等的 如果一个方法重复执行多次,产生的效果是一样的,那就是idempotent的:  idempotent的意思是如果相同的操作再執行第二遍第三遍,結果還是一樣. POST方法 ...

  4. 手把手教你使用Hexo+GitHub搭建自己的个人博客网站

    安装nodejs环境 这个直接搜索安装即可,安装完成之后,通过如下命令检测环境变量是否安装成功: λ node -v # 输出版本号 v12.13.1 正确输入版本号即可. 安装cnpm cnpm是淘 ...

  5. event.clientX和event.clientY

    event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX ...

  6. 一个含有Fibonacci Number的级数

    \[\Large\displaystyle \sum_{n=0}^\infty \frac{1}{F_{2n+1}+1}=\frac{\sqrt5}{2}\] \(\Large\mathbf{Proo ...

  7. 《实战Java高并发程序设计》读书笔记二

    第二章  Java并行程序基础 1.线程的基本操作 线程:进程是线程的容器,线程是轻量级进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序设计是因为线程间的切换和调度的成本远远的小于进程 ...

  8. 「JSOI2014」歌剧表演

    「JSOI2014」歌剧表演 传送门 没想到吧我半夜切的 这道题应该算是 \(\text{JSOI2014}\) 里面比较简单的吧... 考虑用集合关系来表示分辨关系,具体地说就是我们把所有演员分成若 ...

  9. django-实现登录短信验证

    功能演示 核心任务 前端功能: 点击按钮Ajax调用发送验证码功能 输完验证码后Ajax调用验证功能 后端功能: 功能1:发送验证码功能 功能2:验证码检查 后台核心逻辑(不需要手写) 功能3:发短信 ...

  10. JS原型链的理解和使用(二)

    根据在创建对象的时候,创建出来的对象的__proto__指向创建这个对象的函数的prototype属性. 由于在调用对象的属性或者方法的时候会首先在对象的作用域中查找指定的属性或者方法,如果未找到则会 ...