首页
学习
活动
专区
工具
TVP
发布

从零开始学自动化测试

专栏成员
1113
文章
1684246
阅读量
308
订阅数
python+playwright 学习-74 set_extra_http_headers设置浏览器请求头部
大部分网站保存登录状态是用cookies,也有个别网站是在请求头部添加token实现保存登录。 playwright 可以使用set_extra_http_headers() 方法设置浏览器请求头部参数
上海-悠悠
2023-08-22
7820
mitmproxy 抓包神器-2.抓取Android 和 iOS 手机 https 请求
windows电脑通过 ipconfig 查看,mac 电脑通过 ifconfig查看
上海-悠悠
2023-01-03
3.3K0
mitmproxy 抓包神器-1.环境准备与抓取浏览器请求
常见的抓包工具有fiddler 和 charles, 这些工具都是需要安装本地客户端,python 版的抓包工具可以用 mitmproxy。 mitmproxy 相比Charles、fiddler的优点在于,它可以命令行方式或脚本的方式进行mock
上海-悠悠
2023-01-03
1.2K0
pytest + yaml 框架 -17.文件上传功能
本插件集成了 requests_toolbelt 插件处理Content-Type: multipart/form-data 类型文件上传接口。 pip 安装插件
上海-悠悠
2023-01-03
7510
pytest + yaml 框架 -11.全局 base_url 配置
一个完整的url 地址由环境地址和接口地址拼接而成,环境地址是可变的,可以部署到测试环境,uat联调环境等不同的环境。 不管部署到哪个环境,接口的地址是不可变的,通常需要一个全局base_url 地址做到环境可切换。 pip 安装插件
上海-悠悠
2023-01-03
8120
pytest + yaml 框架 -7.用例分层机制
当我们测试流程类的接口,需反复去调用同一个接口,就会想到复用API,在代码里面可以写成函数去调用。 那么在yaml 文件中,我们可以把单个API写到一个yaml 文件,测试用例去调用导入API。
上海-悠悠
2023-01-03
3200
pytest + yaml 框架 -6.hooks 钩子功能实现
在发送请求的时候,我们希望在发送请求参数前,带上签名的值,或者返回的内容需要二次处理,解密后返回。 此功能我们可以用 hooks 钩子来实现 pip 安装插件
上海-悠悠
2023-01-03
3260
pytest + yaml 框架 - 2.extract 提取结果与接口之间的参数关联
在自动化用例中,我们经常会看到有人提问,上一个接口的返回的结果,如何取出来给到下个接口的入参。 我们用 extract 关键字提取接口的返回结果。
上海-悠悠
2023-01-03
1.3K0
pytest + yaml 框架 - 1.我们发布上线了!
基于 httprunner 框架的用例结构,我自己开发了一个pytest + yaml 的框架,那么是不是重复造轮子呢? 不可否认 httprunner 框架设计非常优秀,但是也有缺点,httprunner3.x的版本虽然也是基于pytest框架设计,结合yaml执行用例,但是会生成一个py文件去执行。 在辅助函数的引用也很局限,只能获取函数的返回值,不能在yaml中对返回值重新二次取值。 那么我的这个框架,就是为了解决这些痛点。。。。
上海-悠悠
2023-01-03
9990
《上海悠悠接口自动化平台》-1.新增API 与 各参数的描述
每个API 对应一个接口,每个API 的关键字参数根据httprunner2 框架来定义的
上海-悠悠
2023-01-03
5780
《上海悠悠接口自动化平台》体验地址与使用教程
平台注册地址http://47.108.155.10/register.html 没有账号,先注册自己的账号,注册后自动登录
上海-悠悠
2023-01-03
8790
Flask 学习-91.使用 gunicorn 部署 flask
flask 启动访问平常开发的时候可以用命令行flask run运行,正式部署到线上环境不会这样用。
上海-悠悠
2023-01-03
1.2K0
Flask 学习-74.Flask-RESTX 查询参数args 校验
前言 通过api.model() 设置的模型,只能校验post请求的json格式,无法设置location参数校验get请求的查询参数 遇到的问题 当我访问一个分页查询地址/teacher?page=
上海-悠悠
2022-09-27
7150
Flask 学习-76.Flask-RESTX 处理异常@api.errorhandler
前言 Flask-RESTX 接口返回400,405会以JSON格式返回,像400,500返回的是html格式 自定义异常message 内容 Werkzeug HTTPException 会自动正确地重新使用描述属性进行序列化。 from werkzeug.exceptions import BadRequest raise BadRequest() 将返回 400 HTTP 代码并输出 { "message": "The browser (or proxy) sent a request tha
上海-悠悠
2022-09-27
7770
Flask 学习-67.钩子函数before_request 和 before_first_request 的使用
前言 学过pytest框架的肯定知道什么叫钩子(hook)函数, 钩子函数的作用是在程序运行的过程中插入一段代码做一些事情。 四个钩子 请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子: before_first_request      在对应用程序实例的第一个请求之前注册要运行的函数, 只会执行一次 before_request  在每次请求前执行,如果在某修饰的函数中返回了一个响应,视图函数将不再被调用 after_request  如果没有抛出错误,在每次请求后执行接受一个参数:视图函
上海-悠悠
2022-09-19
2K0
Flask 学习-69.捕获异常钩子函数errorhandler
前言 flask 运行请求出现异常时,会先触发对应的异常钩子,比如出现404时,会根据NotFound 异常类返回404状态码。 我们也可以根据捕获异常钩子errorhandler 来自定义异常的输出。 404 NotFound 以404 NotFound 为例,在werkzeug.exceptions中可以找到 class NotFound(HTTPException): """*404* `Not Found` Raise if a resource does not exist an
上海-悠悠
2022-09-19
1.5K0
Flask 学习-64.current_app的使用与应用上下文(AppContext)
前言 在很多框架里面都提到一个词:上下文(Context),比如django里面的request 就是一个请求上下文对象。 flask 里面 current_app 用于获取应用app对象。 上下文(Context) 什么是上下文(Context) 维持一段程序正常运行的所需要的外部变量的值的集合,叫做上下文(context)。 详细描述: 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。 一旦你的一段程序有了外部变量,这段程序就不能独立完整的运行。 你为了使他们运行,就要给所有的
上海-悠悠
2022-09-19
2.3K0
Flask 学习-65.消息闪现 flash
前言 一个好的应用和用户界面都需要良好的反馈。如果用户得不到足够的反馈,那么应用 最终会被用户唾弃。 Flask 的闪现系统提供了一个良好的反馈方式。闪现系统的基 本工作方式是:在且只在下一个请求中访问上一个请求结束时记录的消息。 设置 flash() flask提供了一个非常有用的flash()函数,它可以用来“闪现”需要提示给用户的消息,比如当用户登录成功后显示“欢迎回来!”。 在视图函数调用flash()函数,传入消息内容,flash()函数把消息存储在session中,我们需要在模板中使用全局函数g
上海-悠悠
2022-09-19
5060
Flask 学习-66.全局g对象的使用
前言 g 对象也就是global 全局对象,可以用于存放开发者自己定义的一些数据,在整个request生命周期内生效。 g 对象讲解 g 也是我们常用的几个全局变量之一。在最开始这个变量是挂载在 Request Context 下的。但是在 0.10 以后,g 就是挂载在 App Context 下的。 首先,说一下 g 用来干什么,官方在上下文这一张里有这一段说明 The application context is created and destroyed as necessary. It never
上海-悠悠
2022-09-19
9910
Flask 学习-46.Flask-RESTX 生成 Swagger 文档入门教程
前言 Swagger API 文档是自动生成的,可从您的 API 的根 URL 获取。@api.doc()您可以使用装饰器配置文档。 Swagger UI 文档 默认flask-restx提供 Swagger UI 文档,从 API 的根 URL 提供 from flask import Flask from flask_restx import Api, Resource, fields app = Flask(__name__) api = Api(app, version='1.0', title=
上海-悠悠
2022-09-13
6740
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档