首页 > 其他分享 >pytest-req插件:更简单的做接口测试

pytest-req插件:更简单的做接口测试

时间:2024-07-26 12:28:36浏览次数:6  
标签:24 插件 req 07 plugin py pytest requests

pytest-req插件:更简单的做接口测试

背景

我们经常会用到 pytest 和 requests 进行接口自动化测试。 pytest 提供了非常方便的插件开发能力,在pytest中使用requests库首先会想到是否有已经封装好的插件,就像pytest-playwrightpytest-selenium一样。可惜找了一下没有。

于是,自己动手实现了一个,本来命名为pytest-requestspypi 仓库搜索了一下被被占用了。pytest-requests是一个用YAML写接口用例的库,类似httprunner。最终命名为pytest-req

整个插件的设计思路比较简单,将requests常用的请求方法设计成pytest.fixture钩子函数;增加请求响应日志,从seldom框架封装的代码,使用pytest-base-url 实现基础URL的全局设置。最终使用起来比 直接在 pytest写requests请求简单了很多。

简介

pytest requests plugin

pytest 使用 requests 库的插件。

特点

  • 完全兼容Requests库的使用。
  • 提供详细的请求/响应日志,并支持可配置。
  • 轻量级,非侵入。

安装

支持pip安装pytest-req插件。

pip install pytest-req

使用

pytest-req 完全兼容 Requests API 如下:

pytest-req(fixture) requests
get() requests.get()
post() requests.post()
put() requests.put()
delete() requests.delete()
patch() requests.patch()
options() requests.options()
head() requests.head()
session() requests.session()

session IDE无法自动补全。可以正常使用session下面的get()/post()/put()...

标签:24,插件,req,07,plugin,py,pytest,requests
From: https://www.cnblogs.com/fnng/p/18325060

相关文章

  • uniapp集成安卓原生录屏插件以及使用
    概述我们知道UniApp的出现简化了开发者的工作流程,并减少了代码的重复编写。开发者可以使用一套代码编译到iOS、Android、以及各种小程序的应用,节省了人力和时间成本,但是涉及到与系统交互的时候,比如录屏、录音、录像、文件操作等就需要借助原生插件来完成。这样的话当需要做一......
  • drf学习总览,http请求不同编码格式,请求体什么样子,新的Request对象和Response, 序列化类
    Ⅰdrf学习总览概述#1请求和响应request:请求对象:请求方式,请求携带的数据,request.GET,request.POST,requset.body,request.META:请求头中得四件套:操作响应体HTTPResponse('sdfs')#若是要携带请求头和响应状态码应该是returnHTTPResponse('sdfs',sta......
  • 无法解析插件 org.apache.maven.plugins:maven-war-plugin:3.2.3(已解决)
    文章目录1、问题出现的背景2、解决方法1、问题出现的背景最开始我想把springboot项目转为javaweb项目,然后我点击下面这个插件就转为javaweb项目了,但是我后悔了,想要还原成springboot项目,点开项目结构关于web的都移除了,还是不行,控制台报下面的错误无法解析插件org.......
  • 分页插件pagehelper使用方法
    使用方法1.引入分页插件 1).使用Maven在pom.xml中添加如下依赖:<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>最新版本</version></dependency> 2).使用Gr......
  • springboot+vue前后端分离项目:导出功能报错Request processing failed: cn.hutool.cor
    1.报错截图: 2.hutool官网,推荐引入poi-ooxml依赖 3.mvn仓库找到依赖 4.用最新版依赖 5.复制到本项目pom.xml,刷新maven 解决......
  • 用于用 NotRequired 替换自定义 TypeAlias 的 Mypy 插件
    我想编写一个mypy插件,以便为NotRequired[Optional[T]]引入类型别名。(正如我在这个问题中发现的,不可能用普通的python编写这个类型别名,因为NotRequired在TypedDict定义之外不允许使用。)我的想法是定义一个通用Possibly类型,如......
  • NotRequired 和Optional 的通用类型别名
    在typing.TypedDict中,NotRequired字段与声明值Optional的字段之间存在差异。第一个意味着该键可能不存在,后者意味着现有键上的值可能是None在我的上下文中(使用mongodb),我不想区分这一点,只是允许一个字段既NotRequired又Optio......
  • UTS插件集成步骤
    如需定制或咨询插件,请联系作者QQ252797991插件网页“试用”按钮点击插件网页右上角“试用”按钮,接着选择要试用插件的项目AppId,接着点击“导入到HBuilderX”,自动打开HBuilderX,选择项目后会自动下载插件到modules文件夹下代码里先引入变量,避免自定义基座时没有把插件打......
  • Django request.data.get传送列表
    request.data.get('fa_no',[])代码片段通常用于Django处理视图中的传入请求数据。这一行代码试图从请求数据中获取键'fa_no'关联的值。如果在请求数据中未找到'fa_no',它会返回一个默认值空列表([])。以下是每个部分的解释:request:这是HTTP请求对象。data:这个属......
  • python3之requests库使用
    使用https://www.cnblogs.com/caroline2016/p/17007956.html建立的api测试下requests库怎么使用。模拟登录时laravelapi那边出现了 Sessionstorenotsetonrequest.错误。解决办法在app/Http/Kernel.php中api中间件组中添加两行代码:<?phpprotected$middlewareGrou......