Playwright 全新插件:将 API 模式验证推向新高度

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


亲爱的 QA 们,你们期待已久的时刻终于到啦!我非常激动地向大家介绍开创性的PLAYWRIGHT-AJV-SCHEMA-VALIDATOR插件!

image.png

关于 JSON 模式

JSON 模式

JSON 模式是一种分层的、声明式的语言,用于描述和验证 JSON 数据。

OpenAPI 3 和 Swagger 2 模式文档

OpenAPI 规范(以前称为 Swagger 规范)是用于描述整个 API(以 JSON 格式或 XML 格式)的模式文档。因此,一个模式文档将包含多个模式,每个 API 支持的端点 - 方法 - 预期响应状态(也称为路径)组合都有一个。

Ajv JSON 模式验证器

Ajv(Another JSON Schema Validator)是一个 JavaScript 库,用于将数据对象与 JSON 模式结构进行验证。

由于其多功能性、速度、功能、持续维护和出色的文档,Ajv 被选为 PLAYWRIGHT-AJV-SCHEMA-VALIDATOR 插件的核心引擎。

想了解更多关于 Ajv 的信息,请访问 Ajv 官方网站。

image.png

Ajv 支持以下模式格式的验证:JSON 模式、OpenAPI 3 规范和 Swagger 2 规范。

然而,Ajv 需要提供要验证的特定端点、方法和预期响应的模式;它本身无法处理完整的 OpenAPI 3 或 Swagger 2 模式文档。

PLAYWRIGHT-AJV-SCHEMA-VALIDATOR插件通过获取你想要测试的端点的正确模式定义来简化这一点。你只需要提供完整的模式文档(OpenAPI 或 Swagger)以及要验证的服务的模式定义路径(端点 - 方法 - 预期响应状态)。

这个插件是做什么用的?

这个全新的 Playwright 插件将 API 模式验证提升到了一个新的水平。无论你是处理普通的 JSON 模式还是 OpenAPI/Swagger 模式文档,这个插件通过在Playwright UI、Trace Viewer和 HTML 报告中直接呈现清晰、用户友好的验证结果来简化这个过程。调试模式问题从未如此简单!

以下是让 PLAYWRIGHT-AJV-SCHEMA-VALIDATOR 真正改变游戏规则的地方:

只需提供端点HTTP 方法预期的状态,它就可以自动从你的整个 OpenAPI3 或 Swagger2 文档中提取正确的模式——无需手动操作。

image.png

  • 它与 PW-API-PLUGIN(pwApi和 pwAxios类)无缝集成,但也可以与 Playwright 的标准 API 请求(例如,request.get())独立使用。

image.png

使用这个插件,你可以开箱即用地获得

  • 关于模式错误数量的详细见解。

  • 一个完整的验证错误列表(由 Ajv 提供)。

  • 查看验证数据,直接指出结果数据中错误发生的位置,并详细说明这些错误是什么。

所有这些只需简单调用 validateSchema()函数即可。

你还可以通过支持的环境变量完全控制你的 API 验证过程:

  • DISABLE_SCHEMA_VALIDATION即使函数validateSchema()存在,也可以在测试中禁用模式验证。

  • LOG_API_UI 在 Playwright UI 和 Trace Viewer 中启用显示 API 调用详细信息。

  • LOG_API_REPORT 在 HTML 报告中启用显示 API 调用详细信息。

而且它是开源的!免费!

如何使用它?

1- 在你的 Playwright 项目中安装插件:

npm install-D playwright-ajv-schema-validator`

2- 在你的测试套件中导入验证函数:

import{validateSchema}from'playwright-ajv-schema-validator';

3- 验证响应正文是否符合预期模式:

// Get your schema doc from a URL or a file
const schemaDoc = ...
// Make API call and get the 'response'
const data = response.body

const validationResult = await validateSchema (
      {page},
      data,
      schemaDoc,
      {endpoint:'/api/resource',method:'POST',status:201}
);

就是这样!不是开玩笑!

那么它看起来像什么呢?

模式验证通过

image.png

使用 pw-api-plugin 的模式验证失败

image.png

使用 Playwright 标准 API 请求的模式验证失败

image.png

在测试中使用自定义样式的模式验证失败

image.png

禁用模式验证

将环境变量 DISABLE_SCHEMA_VALIDATION 设置为 "true"。

image.png

在 HTML 报告中附加模式验证失败详细信息

将环境变量 LOG_API_REPORT 设置为 "true"。

 HTML 报告中的模式验证测试结果。

image.png

HTML 报告中的模式验证失败详细信息

image.png

Trace Viewer 中的模式验证详细信息

执行命令npx playwright test --trace on。

Trace Viewer 中的模式验证详细信息 - 使用 pw-api-plugin

image.png

Trace Viewer 中的模式验证详细信息 - 使用 Playwright 标准 API 请求

image.png

这太棒了!!!!

在哪里可以找到它?

以下是插件的链接:

GitHub:https://github.com/sclavijosuero/playwright-ajv-schema-validator

image.png

npm:https://www.npmjs.com/package/playwright-ajv-schema-validator

image.png

核心所在!

该插件利用了我刚刚发布的全新 CORE-AJV-SCHEMA-VALIDATOR!

image.png

这个强大的引擎不仅驱动了这个 Playwright 插件,还驱动了它的对应物 CYPRESS-AJV-SCHEMA-VALIDATOR插件。你可以在任何项目中直接使用 CORE-AJV-SCHEMA-VALIDATOR,或者作为这些高级插件的核心引擎。

image.png

有趣的是:CYPRESS-AJV-SCHEMA-VALIDATOR 被 Cypress 博客的《提升你的 Cypress 测试:十大必备插件》所推荐——现在,Playwright 用户也可以享受同样的尖端功能啦!

所以……现在你知道了!

使用以下公式提升你的 Playwright API 测试体验:

PW-API-PLUGIN ➕ PLAYWRIGHT-AJV-SCHEMA-VALIDATOR 

祝你的 API 没有错误,模式验证轻松又简单。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值