From f93b412ececd5b100aa32841c2e367b0a73f69ca Mon Sep 17 00:00:00 2001 From: parthkirsan Date: Thu, 18 Sep 2025 21:35:46 +0530 Subject: [PATCH 1/2] add custom header support in capture --- src/lib/schemaValidation.ts | 12 ++++++++++++ src/lib/screenshot.ts | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/lib/schemaValidation.ts b/src/lib/schemaValidation.ts index f545901..10c7973 100644 --- a/src/lib/schemaValidation.ts +++ b/src/lib/schemaValidation.ts @@ -342,6 +342,18 @@ const WebStaticConfigSchema: JSONSchemaType = { enum: ['load', 'domcontentloaded'], errorMessage: "pageEvent can be load, domcontentloaded" }, + requestHeaders: { + type: "array", + items: { + type: "object", + minProperties: 1, + additionalProperties: { type: "string" } + }, + uniqueItems: true, + errorMessage: { + uniqueItems: "Invalid config; duplicates in requestHeaders" + } + }, }, required: ["name", "url"], additionalProperties: false diff --git a/src/lib/screenshot.ts b/src/lib/screenshot.ts index 1ac7cf3..6c785ed 100644 --- a/src/lib/screenshot.ts +++ b/src/lib/screenshot.ts @@ -44,6 +44,26 @@ async function captureScreenshotsForConfig( const browser = browsers[browserName]; context = await browser?.newContext(contextOptions); page = await context?.newPage(); + const headersObject: Record = {}; + if (ctx.config.requestHeaders && Array.isArray(ctx.config.requestHeaders)) { + ctx.config.requestHeaders.forEach((headerObj) => { + Object.entries(headerObj).forEach(([key, value]) => { + headersObject[key] = value; + }); + }); + } + if (urlConfig.requestHeaders && Array.isArray(urlConfig.requestHeaders)) { + urlConfig.requestHeaders.forEach((headerObj) => { + Object.entries(headerObj).forEach(([key, value]) => { + headersObject[key] = value; + }); + }); + } + + ctx.log.debug(`Combined headers: ${JSON.stringify(headersObject)}`); + if (Object.keys(headersObject).length > 0) { + await page.setExtraHTTPHeaders(headersObject); + } await page?.goto(url.trim(), pageOptions); await executeDocumentScripts(ctx, page, "afterNavigation", afterNavigationScript) From 2ad9ea7469eac45f42e87db248e4ac4903227586 Mon Sep 17 00:00:00 2001 From: parthkirsan Date: Thu, 18 Sep 2025 23:51:55 +0530 Subject: [PATCH 2/2] 4.1.33 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c95f5b5..e127e71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lambdatest/smartui-cli", - "version": "4.1.32", + "version": "4.1.33", "description": "A command line interface (CLI) to run SmartUI tests on LambdaTest", "files": [ "dist/**/*"