Python requests接口测试实现代码


Posted in Python onSeptember 08, 2020

1、get方法请求接口

url:显而易见,就是接口的地址url啦

headers:请求头,例如:content-type = application/x-www-form-urlencoded

params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。

举个例子:

import requests
url="http://api.shein.com/login"
header={"content-type":"application/x-www-form-urlencoded"}
param={"user_id":123456,"email":"123456@163.com"}
timeout=0.5
response = requests.get(url, headers=header, params=param, timeout=timeout)
# response = requests.request("get",url,headers=header,params=body,timeout=timeout)
print (response.text)

2、post方法请求接口

import requests

url="http://api.shein.com/login"

header={"content-type":"application/x-www-form-urlencoded"}

param={"user_id":123456,"email":"123456@163.com"}

timeout=0.5

response = requests.post(url, headers=header, data=param, timeout=timeout)

# response = requests.request("post",url,headers=header,data=param,timeout=timeout)

print (response.text)
import requests

url = "https://apipc.xinqgj.com/user/login"
payload = {"phone":"17779828887","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8Uznj"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)
print(response.text)

3、requests.Session()请求接口

import requests

session = requests.Session()  #定义全局session,通过 session 保持会话
class Cms():

  def login(self):
    url = "http://192.168.1.110:8080/cms/manage/loginJump.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"userAccount": "admin", "loginPwd": "123456"}
    #通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

  def queryUserList(self):
    url = "http://192.168.1.110:8080/cms/manage/queryUserList.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"startCreateDate":"",
         "endCreateDate":"",
         "searchValue":"",
         "page":"1"}
    # 通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

if __name__ == '__main__':
  Cms().login()
  Cms().queryUserList()

注意:Python requests模块params、data、json的区别

  • requests 模块发送请求有 data、json、params 三种携带参数的方法。
  • params 在 get 请求中使用,data、json 在 post 请求中使用
    • 常见的 form 表单可以直接使用 data 参数进行报文提交,data 的对象则是 python 中的字典类型
    • 如果数据是 json 格式的参数,可直接使用 json 参数进行报文提交

4、接口的返回值操作

text:获取接口返回值的文本格式

json():获取接口返回值的json()格式

status_code:返回状态码(成功为:200)

headers:返回完整的响应头信息(headers['name']:返回指定的headers内容)

encoding:返回字符编码格式

url:返回接口的完整url地址

import requests

url = "https://xxxx.com/user/login"
payload = {"phone":"1777982xxxx","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8UznjaGsQ5A/nKPSH1NZW"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)

print(response.text)
print(response.json())
print(response.status_code)
print(response.url)
print(response.headers)
print(response.encoding)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
Python socket套接字实现C/S模式远程命令执行功能案例
Jul 06 Python
Django中信号signals的简单使用方法
Jul 04 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
Pycharm中配置远程Docker运行环境的教程图解
Jun 11 Python
bat批处理之字符串操作的实现
Mar 16 Python
Python unittest装饰器实现原理及代码
Sep 08 #Python
Python selenium环境搭建实现过程解析
Sep 08 #Python
Python unittest生成测试报告过程解析
Sep 08 #Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 #Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 #Python
Django模型验证器介绍与源码分析
Sep 08 #Python
Python unittest discover批量执行代码实例
Sep 08 #Python
You might like
PHP版 汉字转码的实现详解
2013/06/09 PHP
php数组转成json格式的方法
2015/03/09 PHP
php实现简单的上传进度条
2015/11/17 PHP
php查询及多条件查询
2017/02/26 PHP
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
vue3.0 上手体验
2020/09/21 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
python实现的系统实用log类实例
2015/06/30 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Python底层封装实现方法详解
2020/01/22 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
文言文辞职信
2015/02/28 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python
python的变量和简单数字类型详解
2021/09/15 Python