From 061f7168f3ea941df93d1eeda695e8f4d4461578 Mon Sep 17 00:00:00 2001 From: vitalets Date: Fri, 12 Sep 2025 19:44:25 +0200 Subject: [PATCH] [js][bidi] add asMap() to the Header class --- javascript/selenium-webdriver/bidi/networkTypes.js | 11 +++++++++++ .../test/bidi/network_commands_test.js | 11 ++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/javascript/selenium-webdriver/bidi/networkTypes.js b/javascript/selenium-webdriver/bidi/networkTypes.js index 57e2f56f34895..5c260eddabc46 100644 --- a/javascript/selenium-webdriver/bidi/networkTypes.js +++ b/javascript/selenium-webdriver/bidi/networkTypes.js @@ -119,6 +119,17 @@ class Header { get value() { return this._value } + + /** + * Converts the Header to a map. + * @returns {Map} A map representation of the Header. + */ + asMap() { + const map = new Map() + map.set('name', this._name) + map.set('value', Object.fromEntries(this._value.asMap())) + return map + } } /** diff --git a/javascript/selenium-webdriver/test/bidi/network_commands_test.js b/javascript/selenium-webdriver/test/bidi/network_commands_test.js index f3969c7917888..cd0082c17b842 100644 --- a/javascript/selenium-webdriver/test/bidi/network_commands_test.js +++ b/javascript/selenium-webdriver/test/bidi/network_commands_test.js @@ -21,6 +21,7 @@ const assert = require('node:assert') const { Browser, By } = require('selenium-webdriver') const { Pages, suite } = require('../../lib/test') const { Network } = require('selenium-webdriver/bidi/network') +const { Header, BytesValue } = require('selenium-webdriver/bidi/networkTypes') const { AddInterceptParameters } = require('selenium-webdriver/bidi/addInterceptParameters') const { InterceptPhase } = require('selenium-webdriver/bidi/interceptPhase') const { until } = require('selenium-webdriver/index') @@ -154,13 +155,21 @@ suite( let counter = 0 await network.beforeRequestSent(async (event) => { - await network.provideResponse(new ProvideResponseParameters(event.request.request)) + await network.provideResponse(new ProvideResponseParameters(event.request.request) + .statusCode(200) + .headers([ + new Header("Content-Type", new BytesValue("string", "text/html")) + ]) + .body(new BytesValue("string", "Hello world")) + ) counter = counter + 1 }) await driver.get(Pages.logEntryAdded) + await driver.wait(until.elementTextContains(driver.findElement(By.css('body')), 'Hello world')); assert.strictEqual(counter >= 1, true) + assert.equal((await driver.getPageSource()).includes('Hello world'), true) }) }) },