Cypress-HAR-Generator HAR文件生成插件

Cypress 的测试里想抓网络求?cypress-har-generator这个小插件还挺好用的。它能在你跑测试时,自动生成 HAR 文件,也就是浏览器网络求的“黑匣子”。拿它慢求、调试接口问题,都挺方便的。

安装方式也简单,用npm i --save-dev @neuralegion/cypress-har-generator就行。在cypress/plugins/index.js里加几行配置:

const { install, ensureBrowserFlags } = require('@neuralegion/cypress-har-generator');
module.exports = (on, config) => {
  install(on, config);
  on('before:browser:launch', (browser = {}, launchOptions) => {
    ensureBrowserFlags(browser, launchOptions);
    return launchOptions;
  });
};

它主要是在浏览器启动前加一些参数,让 Cypress 能记录网络日志。你可以把这些 HAR 文件用 Chrome 打开看,也可以丢到性能工具里跑一圈。

实测下来,对调试XHRfetch求挺有的,是那种偶发慢响应、加载顺序不对的问题。唯一要注意的,就是别在生产环境开着,日志太多了。

如果你正在用Cypress做端到端测试,又经常需要看求细节,那这个插件还挺值得一试的。

zip
cypress-har-generator-master.zip 预估大小:46个文件
folder
cypress-har-generator-master 文件夹
file
.eslintrc 6KB
folder
.github 文件夹
folder
workflows 文件夹
file
deploy.yml 397B
file
auto-build.yml 317B
file
.prettierignore 13B
folder
src 文件夹
file
commands.ts 1KB
folder
utils 文件夹
file
Logger.ts 712B
file
index.ts 80B
file
FileManager.ts 1KB
file
index.ts 1KB
file
Plugin.ts 4KB
folder
cdp 文件夹
file
RetryStrategy.ts 1KB
file
index.ts 161B
file
CRIConnection.ts 2KB
file
CRIOutputMessages.ts 695B
folder
network 文件夹
file
HarBuilder.ts 496B
file
index.ts 233B
file
NetworkCookie.ts 2KB
file
NetworkObserver.ts 14KB
file
EntryBuilder.ts 8KB
file
CookieParser.ts 4KB
file
ExtraInfoBuilder.ts 2KB
file
NetworkRequest.ts 19KB
file
.npmignore 119B
folder
@types 文件夹
folder
chrome-remote-interface 文件夹
file
index.d.ts 14KB
folder
example 文件夹
folder
src 文件夹
file
unauthorized.hbs 293B
file
dashboard.hbs 182B
file
login.hbs 3KB
file
index.js 2KB
folder
cypress 文件夹
folder
integration 文件夹
file
logging-in-xhr-web-form-spec.js 5KB
file
logging-via-request-spec.js 1KB
folder
plugins 文件夹
file
index.js 258B
folder
support 文件夹
file
index.js 30B
file
cypress.json 176B
file
README.md 269B
file
package-lock.json 97KB
file
package.json 667B
file
tsconfig.json 1KB
file
LICENSE 1KB
file
.prettierrc 173B
file
README.md 4KB
folder
webpack 文件夹
file
webpack.config.ts 1002B
file
.releaserc 539B
file
.gitignore 236B
file
.eslintignore 46B
file
package-lock.json 661KB
file
package.json 3KB
zip 文件大小:217.44KB