Pycharm — requests
Requests库
能够使用Requests库发送get/post/put/delete请求,获取响应状态码、数据
能够使用UnitTest管理测试用例
简介与安装
Requests库是Python编写的,基于urllib的HTTP库,使用方便。
安装:pip install requests
镜像安装:pip install requests -i https://pypi.douban.com/simple/
验证:pip show requests
获取指定响应数据
获取URL:resp.url
获取 响应状态码:resp.status_code
获取 Cookie:resp.cookies
获取 响应头:resp.headers
获取 响应体:
文本格式:resp.text
json格式:resp.json()
设置http请求语法
Get请求 + 请求参数:使用params
Post请求 + application/json:使用json
Post请求 + multipart/form-data:使用files
键值对数据:headers里面不要加 Content-Type,把参数传给 files=data 即可。
文件上传:要用到open(),
修改put、删除delete
修改员工信息、删除员工信息
Post请求 + x-www-form-urlencoded:使用data
Cookie
简介
在浏览器端存储用户的信息。
特性:
- cookie用于存储用户临时的不敏感信息。
- cookie位于浏览器(客户端)端。默认大小4k(可以调整)
- cookie中的数据,可以随意被访问,没有安全性可言。
- cookie中存储的数据类型,受浏览器限制。
Cookie + Session 认证方式
在计算机中,认证用户身份的方式有多种!课程中接触2种:
ihrm项目:token认证。
tpshop项目:cookie+Session认证。
- 用户登录:首先用户进行登录操作,用户在登录页面输入用户名和密码,并发送给服务端,服务端验证通过后会生成一份保存用户相关信息的Session数据,同时生成一个对应标识(Session_ID)并写入用户浏览器中的cookie。
- 请求验证:当用户发请求时会自动携带包含Session_ID的Cookie,然后服务端从Cookie获取Session_ID并验证Session数据是否存在。
- 认证通过:如果Session数据存在且有效,则服务端认为用户已登录并允许访问请求的资源。
- 认证失败:如果Session不存在或已过期,服务端会重定向到登录页面。
- 用户注销:如果用户选择注销,服务端将销毁当前Session,并从Cookie中删除Session ID。
Cookie-Session模式依赖于客户端保存Cookie,并且在服务端存储用户的Session数据。
案例:TPshop商城:登录,查看“我的订单”
Session
简介
也叫会话。通常出现在网络通信中,从客户端借助访问终端登录上服务器,直到“退出登录”所产生的通信数据,保存在会话中。
特性:
- Session用于存储用户的信息。
- Session位于服务器端。大小直接使用服务器存储空间。
- Session中的数据,不能随意被访问,安全性较高。
- Session中存储的数据类型,受服务器影响,几乎能支持所有的数据类型。
- 因为Cookie中的数据,都是Session传递的。因此,Session可以直接自动管理cookie。
案例
借助session重新实现上述TPshop商城登录,并获取“我的订单”页面数据。
实现步骤:
1. 创建一个Session实例。
2. 使用Session实例,调 get方法,发送获取验证码请求。(无需获取cookie)
3. 使用同一个Session实例,调用post方法,发送登录请求。(无需携带cookie)
4. 使用同一个Session实例,调用get方法,发送查看我的订单请求。(无需携带cookie)
面试题 Cookie 和 Session 区别
- 1. 数据存储位置:cookie存储在浏览器;session存储在服务器。
- 2. 安全性:cookie中的数据可以随意获取,没有安全性可言。Session的数据多为加密存储,安全较高。
- 3. 数据类型:cookie支持的数据类型受浏览器限制,较少;Session直接使用服务器存储,支持所有数据类型。
- 4. 大小:cookie大小默认4k;Session大小约为服务器存储空间大小。
综合案例—ihrm项目
登录成功
登录测试+测试报告
1. 创建目录
2. 配置—测试报告生成路径
3. 测试数据:json文件
4. 读取测试数据;发送请求,获取响应结果
5. 参数化 + 断言
6. 生成测试报告
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-07-18 JavaScript 的数据类型、typeof 运算符
2022-07-18 JavaScript 之 使用方式、函数定义与调用、(局部、全局)变量