Python 保持登录状态进行接口测试的方法示例

作者:Fragile_liu 时间:2023-03-18 17:09:07 

记录三种添加cookie保持接口登录状态的方法,方便自己回顾。

1.简单粗暴式。

此方法比较小白,前提是已经通过fiddler抓包等方式拿到了cookie,然后直接塞进去。


import requests

trainsUrl ='http://XXX.com/trains'
headers = {
 "Content-Type":"application/json;charset=UTF-8",
}
cookies = {
 "XXXthor":"XXXXXX105a42"
}
prames = {
 'depId':'1',
 'arrId':'2',
 'goDate':'XXXX'
}
res = requests.get(url=trainsUrl, cookies=cookies, params=prames, headers=headers).json()

2.从登录接口获取


import requests

loginUrl ="http://XXX.com/login"
data1 = {
 "userName":"157XXXX",
 "userPwd":"XXXX"
}
headers = {
 "Content-Type":"application/json;charset=UTF-8"
}
#运行登录接口
loginRes = requests.post(url=loginUrl, json=data1, headers=headers)
trainsUrl ='http://XXX.com/trains'
parames = {
 'depId':'1',
 'arrId':'2',
 'goDate':'1538100286000'
}
#运行trainsUrl接口时,从loginRes中获取cookies
res = requests.get(url=trainsUrl, params=parames, cookies=loginRes.cookies).json()

这种方式是先运行登录接口,然后从loginRes中获取cookies,以供后续接口使用。

3.使用会话对象保持登录---摘自网络


import requests

# Session 会话对象
# 会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie
# 会话对象具有主要的 Requests API 的所有方法。你可以当成 Request去使用
sessionRequest = requests.session() #实例化会话对象
loginUrl ="http://XXX.com/login"
data = {
 "userName":"157XXXX",
 "userPwd":"XXX"
}
headers = {
 "Content-Type":"application/json;charset=UTF-8"
}
#第二次请求的url
trainsUrl ='http://XXX/trains'
parames = {
 'depId':'1',
 'arrId':'2',
 'goDate':'XXXXX'
}
#登录
resp = sessionRequest.post(url=loginUrl , json=data, headers=headers)
#请求trains接口
trainsResp = sessionRequest.get(url=trainsUrl, params=parames)

来源:https://blog.csdn.net/Fragile_liu/article/details/89331426

标签:Python,登录状态,接口测试
0
投稿

猜你喜欢

  • Python Type Hints 学习之从入门到实践

    2022-10-05 15:53:54
  • 详解Python list和numpy array的存储和读取方法

    2022-05-04 05:58:10
  • ThinkPHP框架实现用户信息查询更新及删除功能示例

    2024-06-07 15:34:11
  • 有故事的网页设计——Flash网站奇妙之旅

    2011-01-20 19:58:00
  • php 一维数组的循环遍历实现代码

    2023-06-12 00:49:04
  • 基于python生成英文版词云图代码实例

    2023-06-24 23:43:14
  • SqlServer数据库远程连接案例教程

    2024-01-21 10:16:08
  • 关于numpy和torch.tensor的张量的操作

    2023-12-30 23:35:25
  • Python创建或生成列表的操作方法

    2022-05-18 10:21:23
  • 趣味Python实战练习之自动更换桌面壁纸脚本附源码

    2021-11-03 09:12:33
  • 几款好用的前端开发编辑器推荐安利

    2023-11-21 13:30:00
  • python绘制棉棒图的方法详解

    2021-11-06 06:24:58
  • 用python打包exe应用程序及PyInstaller安装方式

    2023-09-20 03:55:21
  • Python基于Opencv识别两张相似图片

    2021-01-13 20:16:42
  • JavaScript条件判断_动力节点Java学院整理

    2024-04-22 22:24:50
  • 解决用CSS控制DIV居中失效的问题

    2010-04-05 21:53:00
  • Python 爬虫学习笔记之单线程爬虫

    2021-09-23 10:47:27
  • ubunt18.04LTS+vscode+anaconda3下的python+C++调试方法

    2023-04-01 16:46:37
  • GO语言中的常量

    2024-05-13 10:44:17
  • NumPy 基本切片和索引的具体使用方法

    2023-02-11 20:47:50
  • asp之家 网络编程 m.aspxhome.com