Python处理session的方法整理


Posted in Python onAugust 29, 2019

前言:

不管是在做接口自动化还是在做UI自动化,测试人员遇到的第一个问题都是卡在登录上。

那是因为在执行登录的时候,服务端会有一种叫做session的会话机制。

一个很简单的例子:

在做功能测试的时候,肯定会遇到一种测试场景,需要在没登录的时候进行一些普通操作,会提示“请先登录”

比如:我们在逛TB的时候,如果没有登录,那么当你搜索到一个商品,准备下单时候,是不是就会弹出一个登录框?

其实这就是利用到了session会话机制。

因为HTTP协议是无状态的,那么在下订单,加入购物车等场景时,服务器是不知道哪个用户在操作。

因此,服务器需要为特定用户创建特定会话,该会话用于识别用户并跟踪用户,以便知道下一个什么商品的订单,购物车里有些什么商品。

requests.session

python有一个非常强大的接口测试第三方库 -- requests

很多学习Python的同学们可能都知道requests库的用法,但是不知道的是还有另外一种用法:requests.session

session其实是一个会话类,requests的所有请求方法,底层都是调用的这个类的对象。

其他方法和session的区别在于:

直接使用requests调用请求方法发送请求,每次都会创建一个新的session(会话对象),所有没有之前请求的cookies信息
直接创建一个session对象来发请求,那么每次发请求用的都是这个会话对象,所有能够保存之前的会话信息(cookies数据)

代码如下:session类

Python处理session的方法整理

requests库

Python处理session的方法整理

 

以上就是Python处理session最简单的方法的全部内容,感谢大家对三水点靠木的支持。

Python 相关文章推荐
让python在hadoop上跑起来
Jan 27 Python
python中的json总结
Oct 11 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
Python range与enumerate函数区别解析
Feb 28 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python中PyQuery库用法分享
Jan 15 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 Python
django自带调试服务器的使用详解
Aug 29 #Python
Python中的相关分析correlation analysis的实现
Aug 29 #Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 #Python
python 计算两个列表的相关系数的实现
Aug 29 #Python
python同步windows和linux文件
Aug 29 #Python
python中几种自动微分库解析
Aug 29 #Python
详解python中index()、find()方法
Aug 29 #Python
You might like
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
javascript数据类型详解
2017/02/07 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
python——全排列数的生成方式
2020/02/26 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
python如何从键盘获取输入实例
2020/06/18 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
最新的大学生找工作自我评价
2013/09/29 职场文书
销售个人求职信范文
2014/04/28 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
先进事迹材料范文
2014/12/29 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏