@neuralegion/cypress-har-generator
Version:
The Cypress plugin for generating HTTP Archive (HAR) files is a tool that allows developers and QA engineers to capture detailed information about network requests made during the execution of Cypress tests.
40 lines (39 loc) • 1.56 kB
TypeScript
/// <reference types="cypress" />
import { Logger } from './utils/Logger';
import { FileManager } from './utils/FileManager';
import type { HarExporterFactory, HarExporterOptions, NetworkObserverOptions, ObserverFactory } from './network';
import type { ConnectionFactory, NetworkOptions } from './cdp';
export interface SaveOptions {
fileName: string;
outDir: string;
waitForIdle?: boolean;
minIdleDuration?: number;
maxWaitDuration?: number;
}
export declare type RecordOptions = NetworkObserverOptions & HarExporterOptions & NetworkOptions;
export declare class Plugin {
private readonly logger;
private readonly fileManager;
private readonly connectionFactory;
private readonly observerFactory;
private readonly exporterFactory;
private exporter?;
private networkObservable?;
private addr?;
private _connection?;
private supported?;
constructor(logger: Logger, fileManager: FileManager, connectionFactory: ConnectionFactory, observerFactory: ObserverFactory, exporterFactory: HarExporterFactory);
ensureBrowserFlags(browser: Cypress.Browser, args: string[]): string[];
recordHar(options: RecordOptions): Promise<void>;
saveHar(options: SaveOptions): Promise<void>;
disposeOfHar(): Promise<void>;
private parseElectronSwitches;
private buildHar;
private waitForNetworkIdle;
private listenNetworkEvents;
private closeConnection;
private isSupportedBrowser;
private ensureRdpAddrArgs;
private extractAddrFromArgs;
private findAndParseIfPossible;
}