分类: Python

66 篇文章

FastApi请求拦截-fastapi请求拦截
前言 我们经常听说请求拦截,那到底什么是请求拦截,请求拦截有什么用呢?今天我们就一起来看一看。 关于请求拦截 请求拦截,顾名思义就是在请求过程中将请求拦截下来,然后对请求进行处理然后才进入视图中处理然后响应给客户端。 在安全测试、前后端开发中,请求拦截是非常有用的。比如 token 续签、统一响应处理、统一异常处理、历史接口改造等。 今天我们就用非…
FastApi响应体统一封装-fastapi响应体统一封装
前言 前面我们介绍的 FastApi 响应体都是使用不同的结构体进行的,有 str、list、json 等,但是这在前后台分离的场景下是不友好的。为了方便前端处理,我们一般会使用统一的数据结构作为响应。 分析 针对常用的响应码,我们可以封装符合自己业务需求的结构体。比如自定义响应码,自定义 message 等。 我们可以使用 Python 的字典类…
httpx比requests更加优秀-httpx比requests更加优秀
前言 相信你和我一样,在日常的工作中,requests 库被广泛使用。今天我要为你介绍一款号称下一代全功能的 HTTP 客户端:httpx。 什么是 httpx httpx 是 Python3 的全功能客户端,支持同步&异步 API,同时支持 HTTP/1.1 和 HTTP/2。 相比其他 HTTP 库,httpx 具有更加易用的接口,更加…
httpx优秀的HTTP客户端工具-httpx
前言 相信你和我一样,在日常的工作中,requests 库被广泛使用。今天我要为你介绍一款号称下一代全功能的 HTTP 客户端:httpx。 什么是 httpx httpx 是 Python3 的全功能客户端,支持同步&异步 API,同时支持 HTTP/1.1 和 HTTP/2。 相比其他 HTTP 库,httpx 具有更加易用的接口,更加…
HttpRunner-8-数据驱动-httprunner-8
数据驱动概览 为什么要用数据驱动 举个简单例子,当我们在测试一个输入框的功能时,可能需要输入不同的参数,此时,我们不需要设计多个用例,而只需要将输入值参数化,将不同的参数作为一个列表通过数据驱动的方式进行加载即可。 httprunner 的数据驱动 通过上篇文章,我们已经知道 httprunner 的数据驱动需要在 testsuite 中使用关键字…
HttpRunner-7-用例分层-httprunner-7
何为用例分层? 在自动化测试领域,自动化测试用例的可维护性是极其重要的因素,直接关系到自动化测试能否持续有效地在项目中开展。 概括来说,测试用例分层机制的核心是将接口定义、测试步骤、测试用例、测试场景进行分离,单独进行描述和维护,从而尽可能地减少自动化测试用例的维护成本。 逻辑关系图如下所示: 图片摘自 httprunner 官方网站。 几个核心概…
HttpRunner-6-环境变量-httprunner-6
为什么要用环境变量 在自动化测试中,有时需要借助环境变量实现某些特定的目的,常见的场景包括: 切换测试环境 切换测试配置 存储敏感数据(从信息安全的角度出发) 设置环境变量 Linux 中 使用 export 命令 $ export UserName=admin $ echo $UserName admin $ export Password=12…
HttpRunner-5-DebugTalk-httprunner-5
什么是 debugtalk 在前面的文章中我们已经介绍过 httprunner 的项目结构。debugtalk.py 是用来表示项目根目录的,同时我们也能在其中自定义一些方法供 api 和 case 使用。 debugtalk 用于 hook 详情查看:HttpRunner-03-hook debugtalk 用于数据传递 前面的 HttpRunn…
HttpRunner-4-Extract-httprunner-4
什么是 extract extract 顾名思义,我们就可以猜到其实用来做数据提取和引用的。 使用场景 通常,测试框架中都有获取数据并且将其存储到变量的机制。httprunner 也不例外,extract 就是用来提取变量并且供后续步骤使用。 在接口测试中,大多数接口都是需要鉴权的,而我们不可能在每个测试步骤,甚至测试用例中重复进行 token 的…
HttpRunner-3-Hook-httprunner-3
什么是 hook? hook 俗名钩子函数,就是在特定情况下才会触发的 Api。 举个 hook 栗子 就像你用银行卡去 ATM 机取钱,当你在执行取钱的动作过程中会触发一个名为 msg 的钩子函数,而这个 msg 钩子函数就会执行像你手机发送短信的动作。 即:在取钱动作成功发生的时候会触发发送短信的钩子函数。 hrun 中的 hook 和其他测试…