📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
亲爱的 QA 们,你们期待已久的时刻终于到啦!我非常激动地向大家介绍开创性的PLAYWRIGHT-AJV-SCHEMA-VALIDATOR插件!
关于 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 官方网站。
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 文档中提取正确的模式——无需手动操作。
-
它与 PW-API-PLUGIN(pwApi和 pwAxios类)无缝集成,但也可以与 Playwright 的标准 API 请求(例如,request.get())独立使用。
使用这个插件,你可以开箱即用地获得:
-
关于模式错误数量的详细见解。
-
一个完整的验证错误列表(由 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}
);
就是这样!不是开玩笑!
那么它看起来像什么呢?
模式验证通过
使用 pw-api-plugin 的模式验证失败
使用 Playwright 标准 API 请求的模式验证失败
在测试中使用自定义样式的模式验证失败
禁用模式验证
将环境变量 DISABLE_SCHEMA_VALIDATION 设置为 "true"。
在 HTML 报告中附加模式验证失败详细信息
将环境变量 LOG_API_REPORT 设置为 "true"。
HTML 报告中的模式验证测试结果。
HTML 报告中的模式验证失败详细信息
Trace Viewer 中的模式验证详细信息
执行命令npx playwright test --trace on。
Trace Viewer 中的模式验证详细信息 - 使用 pw-api-plugin
Trace Viewer 中的模式验证详细信息 - 使用 Playwright 标准 API 请求
这太棒了!!!!
在哪里可以找到它?
以下是插件的链接:
GitHub:https://github.com/sclavijosuero/playwright-ajv-schema-validator
npm:https://www.npmjs.com/package/playwright-ajv-schema-validator
核心所在!
该插件利用了我刚刚发布的全新 CORE-AJV-SCHEMA-VALIDATOR!
这个强大的引擎不仅驱动了这个 Playwright 插件,还驱动了它的对应物 CYPRESS-AJV-SCHEMA-VALIDATOR插件。你可以在任何项目中直接使用 CORE-AJV-SCHEMA-VALIDATOR,或者作为这些高级插件的核心引擎。
有趣的是:CYPRESS-AJV-SCHEMA-VALIDATOR 被 Cypress 博客的《提升你的 Cypress 测试:十大必备插件》所推荐——现在,Playwright 用户也可以享受同样的尖端功能啦!
所以……现在你知道了!
使用以下公式提升你的 Playwright API 测试体验:
PW-API-PLUGIN ➕ PLAYWRIGHT-AJV-SCHEMA-VALIDATOR
祝你的 API 没有错误,模式验证轻松又简单。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】