UNPKG

@currents/playwright

Version:

Playwright integration and reporter for [Currents](https://currents.dev/playwright) - a cloud dashboard for debugging, troubleshooting and analysing parallel CI tests supporting Cypress and Playwright.

79 lines (49 loc) 2.43 kB
# Reference ## Orchestration ```mermaid sequenceDiagram pwc-p ->> or8n-reporter: playwright list --report @currents/orchestration Note over or8n-reporter: CURRENTS_PWCP_WSS_PORT or8n-reporter ->> or8n-reporter: ConfigLoader -> setCurrentsConfig<br />skipConfigValidation: true or8n-reporter ->> backend: create or8n session backend -->> or8n-reporter: or8n session or8n-reporter -->> pwc-p: ws://<creation-success> pwc-p ->> pwc-p: TaskExecutor.runTaskLoop loop while or8n task != null pwc-p ->> backend: create or8n task backend -->> pwc-p: or8n task pwc-p ->> pwc-p: TaskExecutor.runPWTask pwc-p ->> playwright-currents-reporter: test --project --spec Note over playwright-currents-reporter: CURRENTS_PWCP_WSS_PORT<br />CURRENTS_OR8N_SEND_RESULTS_TO_WSS<br />CURRENTS_TEST_SUITE_FILE<br />CURRENTS_PWC_CLI_CONFIG_PATH playwright-currents-reporter ->> playwright-currents-reporter: ConfigLoader -> setCurrentsConfig<br />skipConfigValidation: true playwright-currents-reporter -->> pwc-p: sendJSONSummaryToWSS() via end ``` ## Configuration - `pwc` and `pwc-p` are CLI utils - they get CLI arguments which can have values set via env variables according to `Option` configuraiton. - `pwc` and `pwc-p` serialize CLI flags and save it to `CURRENTS_PWC_CLI_CONFIG_PATH` - `reporter-config` is the configuration that users provide via `playwright.config.ts` - `c12` is the configurtion from `currents.config.ts` and alike - reporters read the file contents from `CURRENTS_PWC_CLI_CONFIG_PATH` and merge the config using `setConfig()` function ```mermaid graph TD; CliManager.cliOptions --> CURRENTS_PWC_CLI_CONFIG_PATH; pwc-->CliManager.cliOptions; pwc-p-->CliManager.cliOptions; CURRENTS_PWC_CLI_CONFIG_PATH --> main-reporter; CURRENTS_PWC_CLI_CONFIG_PATH --> discovery-reporter; reporter-config --> ConfigLoader; discovery-reporter --> ConfigLoader; main-reporter --> ConfigLoader; env-var --> pwc; flags --> pwc; env-var --> pwc-p; flags --> pwc-p; subgraph "setConfig()" ConfigLoader --> defaultConfig --> c12 --> reporter-configuration --> cli --> envVars; end ``` ## Tips - use `getConfig` whenever it's possible - don't use defaults in CLI options - they will override c12 configuration, use `defaultConfig` instead - you can access certain config values directly from source - for example `debug` or `inspect`