webdriverio/webdriverio

[🐛 Bug]: Firefox on Windows 10 fails with `browsingContext.navigationStarted is not a valid event name`

Open

#14.500 aberto em 21 de mai. de 2025

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)JavaScript (1.793 forks)batch import
Bug 🐛help wanted

Métricas do repositório

Stars
 (6.029 stars)
Métricas de merge de PR
 (Mesclagem média 15d 15h) (48 fundiu PRs em 30d)

Description

Have you read the Contributing Guidelines on issues?

WebdriverIO Version

9.14.0

Node.js Version

22.15.1

Mode

Standalone Mode

Which capabilities are you using?

capabilities: {
	browserName: "firefox",
	"moz:firefoxOptions": {
		args: ["-headless"]
	}
}

What happened?

I can not run tests in Firefox on my Windows 10 Build Agent. The error is:

Error: WebDriver Bidi command "session.subscribe" failed with error: invalid argument - browsingContext.navigationStarted is not a valid event name

Everything runs as expected on my Windows 11 development machine. Unfortunately I can not access another Window 10 machine right now.

I experimented with the versions and webdriverio 9.6.4 works and 9.7.0 doesn't.

What is your expected behavior?

The session should open.

How to reproduce the bug.

I created an MRE:

// raw.js
import { remote } from "webdriverio";

const browser = await remote({
capabilities: {
	browserName: "firefox",
	"moz:firefoxOptions": {
		args: ["-headless"]
	}
},
	logLevel: "info",
});

await browser.url(`about:blank`);
const expected = "";
const value = await browser.getTitle();
if(value !== expected) console.error(`Wrong value! Expected "${expected}", actual "${value}"!`);

// Now we need to close the browser window, because it stays open after this
// program exits
// This is a different topic.
try {
	// Throws: "TypeError: Cannot read properties of undefined (reading 'length')"
	// window is closed
	await browser.closeWindow();
} catch (error) {
	console.log(error);
} finally {
	process.exit();
}

Relevant log output

Starting: run tests
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.250.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
Script contents: shell
node raw.js
========================== Starting Command Output ===========================
"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "C:\a\_temp\7cb9ffef-c814-47c7-bfee-67a5f52ac0a8.cmd""
2025-05-21T05:25:15.706Z INFO webdriver: Initiate new session using the WebDriver protocol
2025-05-21T05:25:16.055Z INFO geckodriver: Starting Geckodriver at C:\Users\AzDevOps\AppData\Local\Temp\geckodriver.exe with params: --port=60304 --allow-hosts=localhost --host=0.0.0.0 --websocket-port=0
2025-05-21T05:25:16.078Z INFO geckodriver: 1747805116088	geckodriver	INFO	Listening on 0.0.0.0:60304
2025-05-21T05:25:16.081Z INFO @wdio/utils: Started GeckoDriver in 41ms on port 60304
2025-05-21T05:25:16.085Z INFO webdriver: [POST] http://localhost:60304/session
2025-05-21T05:25:16.085Z INFO webdriver: DATA {
  capabilities: {
    alwaysMatch: {
      browserName: 'firefox',
      'moz:firefoxOptions': [Object],
      webSocketUrl: true,
      unhandledPromptBehavior: 'ignore'
    },
    firstMatch: [ {} ]
  }
}
2025-05-21T05:25:16.112Z INFO geckodriver: 1747805116123	mozrunner::runner	INFO	Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "--marionette" "-headless" "--remote-debugging-port" "0" "--remote-allow-hosts" "localhost" "-no-remote" "-profile" "C:\\Users\\AzDevOps\\AppData\\Local\\Temp\\rust_mozprofilejPnt8x"
2025-05-21T05:25:16.187Z WARN geckodriver: *** You are running in headless mode.
2025-05-21T05:25:16.278Z INFO geckodriver: console.warn: services.settings: Ignoring preference override of remote settings server
2025-05-21T05:25:16.279Z INFO geckodriver: console.warn: services.settings: Allow by setting MOZ_REMOTE_SETTINGS_DEVTOOLS=1 in the environment
2025-05-21T05:25:16.512Z INFO geckodriver: 1747805116524	Marionette	INFO	Marionette enabled
2025-05-21T05:25:16.515Z WARN geckodriver: Dynamically enable window occlusion 0
2025-05-21T05:25:16.518Z INFO geckodriver: 1747805116530	Marionette	INFO	Listening on port 60309
2025-05-21T05:25:16.533Z INFO geckodriver: Read port: 60309
2025-05-21T05:25:16.624Z WARN geckodriver: WebDriver BiDi listening on ws://127.0.0.1:60311
2025-05-21T05:25:17.379Z INFO geckodriver: [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
2025-05-21T05:25:18.187Z WARN geckodriver: [ERROR glean_core] Error setting metrics feature config: Json(Error("EOF while parsing a value", line: 1, column: 0))
2025-05-21T05:25:18.501Z WARN geckodriver: DevTools listening on ws://127.0.0.1:60311/devtools/browser/0262dfcb-d58f-488d-a46a-27a602f2bdf9
2025-05-21T05:25:18.533Z INFO webdriver: Register BiDi handler for session with id 43842fab-a29a-45bf-9871-f6d1bc9a17e5
2025-05-21T05:25:18.534Z INFO webdriver: Connecting to webSocketUrl ws://127.0.0.1:60311/session/43842fab-a29a-45bf-9871-f6d1bc9a17e5
2025-05-21T05:25:18.550Z INFO geckodriver: 1747805118562	RemoteAgent	INFO	Perform WebSocket upgrade for incoming connection from 127.0.0.1:60320
2025-05-21T05:25:18.555Z INFO webdriver: Connected to Bidi protocol at ws://127.0.0.1:60311/session/43842fab-a29a-45bf-9871-f6d1bc9a17e5
2025-05-21T05:25:18.555Z INFO webdriver: Connected to WebDriver Bidi interface at ws://127.0.0.1:60311/session/43842fab-a29a-45bf-9871-f6d1bc9a17e5
2025-05-21T05:25:18.556Z INFO webdriver: BIDI COMMAND browsingContext.getTree {}
2025-05-21T05:25:18.558Z INFO webdriver: BIDI COMMAND session.subscribe {"events":["browsingContext.contextCreated"]}
2025-05-21T05:25:18.559Z INFO webdriver: BIDI COMMAND session.subscribe {"events":["log.entryAdded","browsingContext.navigationStarted"]}
2025-05-21T05:25:18.559Z INFO webdriver: BIDI COMMAND script.addPreloadScript { functionDeclaration: <PreloadScript[1319 bytes]>, contexts: undefined }
2025-05-21T05:25:18.560Z INFO webdriver: BIDI COMMAND session.subscribe {"events":["browsingContext.navigationStarted","browsingContext.fragmentNavigated","network.responseCompleted","network.beforeRequestSent","network.fetchError"]}
2025-05-21T05:25:18.561Z INFO webdriver: BIDI COMMAND session.subscribe {"events":["browsingContext.userPromptOpened"]}
2025-05-21T05:25:18.562Z INFO webdriver: BIDI COMMAND session.subscribe {"events":["browsingContext.navigationStarted"]}
2025-05-21T05:25:18.563Z INFO webdriver: COMMAND getWindowHandle()
2025-05-21T05:25:18.564Z INFO webdriver: [GET] http://localhost:60304/session/43842fab-a29a-45bf-9871-f6d1bc9a17e5/window
2025-05-21T05:25:18.570Z INFO webdriver: BIDI RESULT {"id":1,"result":{"contexts":[{"context":"53645d30-9a61-4804-a200-ebcbcca30007","url":"about:blank","children":[],"parent":null}]}}
2025-05-21T05:25:18.571Z INFO webdriverio:PolyfillManager: Adding polyfill script to context with id 53645d30-9a61-4804-a200-ebcbcca30007
2025-05-21T05:25:18.571Z INFO webdriver: BIDI COMMAND script.addPreloadScript { functionDeclaration: <PreloadScript[442 bytes]>, contexts: ["53645d30-9a61-4804-a200-ebcbcca30007"] }
2025-05-21T05:25:18.572Z INFO webdriver: BIDI COMMAND script.callFunction {"functionDeclaration":"<Function[442 bytes] webdriverioPolyfill>","target":{"context":"53645d30-9a61-4804-a200-ebcbcca30007","url":"about:blank","children":[],"parent":null},"awaitPromise":false}
node:internal/process/promises:394
2025-05-21T05:25:18.575Z INFO webdriver: BIDI RESULT {"id":3,"error":"invalid argument","message":"browsingContext.navigationStarted is not a valid event name","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:183:5\nInvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:312:5\n#assertModuleSupportsEvent@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:122:13\n#obtainEvents@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:191:38\n#updateEventMap/<@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:264:25\n#updateEventMap@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:263:25\nsubscribe@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:77:43\nhandleCommand@chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs:249:33\nexecute@chrome://remote/content/shared/webdriver/Session.sys.mjs:244:32\nonPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:175:37\nonMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:83:18\nhandleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:65:14\n"}
    triggerUncaughtException(err, true /* fromPromise */);
2025-05-21T05:25:18.697Z INFO webdriver: BIDI RESULT {"id":5,"error":"invalid argument","message":"browsingContext.navigationStarted is not a valid event name","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:183:5\nInvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:312:5\n#assertModuleSupportsEvent@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:122:13\n#obtainEvents@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:191:38\n#updateEventMap/<@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:264:25\n#updateEventMap@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:263:25\nsubscribe@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:77:43\nhandleCommand@chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs:249:33\nexecute@chrome://remote/content/shared/webdriver/Session.sys.mjs:244:32\nonPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:175:37\nonMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:83:18\nhandleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:65:14\n"}
    ^
2025-05-21T05:25:18.698Z INFO webdriver: BIDI RESULT {"id":6,"error":"invalid argument","message":"browsingContext.userPromptOpened is not a valid event name","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:183:5\nInvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:312:5\n#assertModuleSupportsEvent@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:122:13\n#obtainEvents@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:191:38\n#updateEventMap/<@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:264:25\n#updateEventMap@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:263:25\nsubscribe@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:77:43\nhandleCommand@chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs:249:33\nexecute@chrome://remote/content/shared/webdriver/Session.sys.mjs:244:32\nonPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:175:37\nonMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:83:18\nhandleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:65:14\n"}

2025-05-21T05:25:18.698Z INFO webdriver: BIDI RESULT {"id":7,"error":"invalid argument","message":"browsingContext.navigationStarted is not a valid event name","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:183:5\nInvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:312:5\n#assertModuleSupportsEvent@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:122:13\n#obtainEvents@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:191:38\n#updateEventMap/<@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:264:25\n#updateEventMap@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:263:25\nsubscribe@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:77:43\nhandleCommand@chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs:249:33\nexecute@chrome://remote/content/shared/webdriver/Session.sys.mjs:244:32\nonPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:175:37\nonMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:83:18\nhandleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:65:14\n"}
Error: WebDriver Bidi command "session.subscribe" failed with error: invalid argument - browsingContext.navigationStarted is not a valid event name
2025-05-21T05:25:18.941Z INFO webdriver: BIDI RESULT {"id":2,"result":{}}
    at BidiHandler.send (file:///C:/a/2/s/node_modules/webdriver/build/node.js:472:23)
2025-05-21T05:25:18.941Z INFO webdriver: BIDI RESULT {"id":4,"result":{"script":"15179533-2a04-4906-8e01-321d534bd906"}}
    at BidiHandler.sessionSubscribe (file:///C:/a/2/s/node_modules/webdriver/build/node.js:588:31)
2025-05-21T05:25:18.942Z INFO webdriver: BIDI RESULT {"id":8,"result":{"script":"6d568607-d8b4-4d76-90b7-d4021e9ef43d"}}
    at Browser.value (file:///C:/a/2/s/node_modules/webdriver/build/node.js:1377:26)
2025-05-21T05:25:18.942Z INFO webdriver: BIDI RESULT {"id":9,"result":{"realm":"cb233076-6461-4dde-bac2-3c0f0b351352","type":"success","result":{"type":"undefined"}}}
    at Browser.wrapCommandFn (file:///C:/a/2/s/node_modules/@wdio/utils/build/index.js:907:32)
    at Browser.<anonymous> (file:///C:/a/2/s/node_modules/@wdio/utils/build/index.js:1022:20)
    at new _ContextManager (file:///C:/a/2/s/node_modules/webdriverio/build/node.js:280:21)
    at SessionManager.getSessionManager (file:///C:/a/2/s/node_modules/webdriverio/build/node.js:192:32)
    at getContextManager (file:///C:/a/2/s/node_modules/webdriverio/build/node.js:254:25)
    at registerSessionManager (file:///C:/a/2/s/node_modules/webdriverio/build/node.js:5077:5)
    at remote (file:///C:/a/2/s/node_modules/webdriverio/build/node.js:8783:9)

Driver Stack:
    at RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    at WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:183:5
    at InvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:312:5
    at #assertModuleSupportsEvent@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:122:13
    at #obtainEvents@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:191:38
    at #updateEventMap/<@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:264:25
    at #updateEventMap@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:263:25
    at subscribe@chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs:77:43
    at handleCommand@chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs:249:33
    at execute@chrome://remote/content/shared/webdriver/Session.sys.mjs:244:32
    at onPacket@chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs:175:37
    at onMessage@chrome://remote/content/server/WebSocketTransport.sys.mjs:83:18
    at handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:65:14

Node.js v22.15.1
##[error]Cmd.exe exited with code '1'.
Finishing: run tests

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

Guia do colaborador