学习目标1.能够使用Requests库发送get/post/put/delete请求获取响应状态码、数据2.能够以使用pyTest管理测试用例Requests库简介Requests库 是 Python编写的基于urllib 的 HTTP库使用方便。安装查验如果 解释器列表中没有安装的库。修改 当前 pycharm 所使用的 python 解释器也可以在 pycharm 中联网搜索 库名在线安装。 安装方法如下。Requests请求对象构建应用案例案例一访问 百度入门案例使用Requests库访问 百度 http://www.baidu.com案例二带 查询参数 的get请求使用Requests库请求 tpshop商城 搜索商品接口。查询 iphoneurl通过开发者工具获得案例三带 表单数据 的post请求使用Requests库完成 tpshop商城 登录接口调用。返回 ”验证码错误“ 即可。url、请求头、请求体 从开发者工具获取案例四带 json数据 的post请求使用Requests库完成 iHRM系统 成功登录。返回 ”令牌数据“。案例五发送 put、delete请求使用Requests库发送 ihrm系统 修改员工信息、删除员工信息 请求。Cookie简介CookieSession认证方式首次访问站点客户端发空 Cookie 请求服务器生成唯一session_id在服务端开辟 Session 存储空间把session_id放进响应的 Cookie 下发给浏览器浏览器本地 Cookie 持久保存这个编号。提交登录账号密码浏览器自动在请求 Cookie 里附带session_id服务器校验账号密码无误后把userid用户身份信息写入对应 session_id 匹配的 Session 对象。后续页面访问已登录态复用浏览器每次请求自动携带存着session_id的 Cookie服务器拿编号检索 Session读取里面的userid判定用户已登录放行受保护页面不用重复输密码。案例完整实现 TPshop商城登录并获取 “我的订单” 页面数据。Session简介概念也叫 会话从客户端登录服务器开始直到客户端退出登录所产生的所有通信数据保存在 session中。session 将数据存在服务器端session 使用服务器存储空间没有大小限制。session 支持的数据类型受服务器主机影响。几乎支持所有数据类型。session 中的数据大都采用 加密、转码存储。安全性较高。session自动管理cookie,cookie中的数据都是由session提供的案例借助 session 重新实现 上述 TPshop商城登录并获取 “我的订单” 页面数据。创建 session 对象(实例)。 my_session requests.Session()【注意() 不能丢】使用 session实例调用get方法发送 获取验证码请求不需要提取cookie。 my_session.get()使用同一个 session实例调用post方法发送登录请求不需要携带cookie。my_session.post()使用同一个 session实例调用get方法发送查看我的订单页面请求不需要携带cookie。my_session.get()Cookie 和 Session 区别数据存储位置Cookie 存储在 浏览器端Session 存储在 服务器端安全性Cookie 直接存储在浏览器可以任意获取没有安全性可言。Session 存储在 服务器端采用 加密、转码形式存储数据安全性较高。数据类型Cookie 直接存储在浏览器支持测试数据类型受浏览器限制Session 存储在 服务器端服务器就是一台主机。因此几乎支持所有的数据类型。大小Cookie 默认大小 4k可调Session 直接使用服务器存储。没有大小限制获取指定响应数据获取 URL resp.url获取 响应状态码resp.status_code获取 Cookieresp.cookies获取 响应头resp.headers获取 响应体文本格式resp.textjson格式resp.json()。 如果看到 JSONDecodeError 错误提示说明 不能转换为 jsonpytest框架pyTest 是开发人员用来实现 “单元测试” 的框架。测试工程师可以在自动化 “测试执行” 时使用。使用 pyTest 的好处方便管理、维护测试用例。简单的断言方法。生成测试报告。安装 pytest pip install pytest定义测试类测试方法执行测试方法Fixture断言测试报告ihrm案例登录成功登录失败