Skip to content

Add browser console logs to worker output #13727

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

sebastian-sauer
Copy link
Contributor

@sebastian-sauer sebastian-sauer commented Oct 1, 2024

Proposed changes

For bidi based sessions allow to capture the browser log in worker console

closes #13663

Example output:

~/webdriverio/examples/wdio/mocha (main)$ pnpm run test:mocha | grep browserconsole
[0-0] 2024-10-01T18:03:32.576Z INFO browserconsole: Hello Bidi 2 - this was a console.log
[0-0] 2024-10-01T18:03:32.612Z DEBUG browserconsole: Hello Bidi 2 - this was a console.debug
[0-0] 2024-10-01T18:03:32.682Z INFO browserconsole: Hello Bidi 2 - this was a console.info
[0-0] 2024-10-01T18:03:32.725Z WARN browserconsole: Hello Bidi 2 - this was a console.warn
[0-0] 2024-10-01T18:03:32.754Z ERROR browserconsole: Hello Bidi 2 - this was a console.error
[0-1] 2024-10-01T18:03:32.773Z INFO browserconsole: Hello Bidi - this was a console.log
[0-1] 2024-10-01T18:03:32.826Z DEBUG browserconsole: Hello Bidi - this was a console.debug
[0-1] 2024-10-01T18:03:32.861Z INFO browserconsole: Hello Bidi - this was a console.info
[0-1] 2024-10-01T18:03:32.881Z WARN browserconsole: Hello Bidi - this was a console.warn
[0-1] 2024-10-01T18:03:32.901Z ERROR browserconsole: Hello Bidi - this was a console.error

The logger automatically allows to identify the different (2) processes this was tested in.

Types of changes

  • Polish (an improvement for an existing feature)
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (improvements to the project's docs)
  • Specification changes (updates to WebDriver command specifications)
  • Internal updates (everything related to internal scripts, governance documentation and CI files)

Checklist

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)
  • I have added proper type definitions for new commands (if appropriate)

Backport Request

//: # (The current main branch is the development branch for WebdriverIO v9. If your change should be released to the current major version of WebdriverIO (v8), please raise another PR with the same changes against the v8 branch.)

  • This change is solely for v9 and doesn't need to be back-ported
  • Back-ported PR at #XXXXX

Further comments

Reviewers: @webdriverio/project-committers

@sebastian-sauer sebastian-sauer marked this pull request as draft October 1, 2024 18:26
Copy link

pkg-pr-new bot commented Oct 1, 2024

Open in Stackblitz

eslint-plugin-wdio

npm i https://pkg.pr.new/webdriverio/webdriverio/eslint-plugin-wdio@13727

@wdio/appium-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/appium-service@13727

@wdio/allure-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/allure-reporter@13727

@wdio/browser-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/browser-runner@13727

@wdio/browserstack-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/browserstack-service@13727

@wdio/cli

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cli@13727

@wdio/concise-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/concise-reporter@13727

@wdio/cucumber-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cucumber-framework@13727

@wdio/config

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/config@13727

@wdio/dot-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/dot-reporter@13727

@wdio/firefox-profile-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/firefox-profile-service@13727

@wdio/globals

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/globals@13727

@wdio/jasmine-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/jasmine-framework@13727

@wdio/json-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/json-reporter@13727

@wdio/junit-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/junit-reporter@13727

@wdio/lighthouse-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/lighthouse-service@13727

@wdio/local-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/local-runner@13727

@wdio/logger

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/logger@13727

@wdio/protocols

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/protocols@13727

@wdio/mocha-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/mocha-framework@13727

@wdio/repl

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/repl@13727

@wdio/reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/reporter@13727

@wdio/runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/runner@13727

@wdio/sauce-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sauce-service@13727

@wdio/shared-store-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/shared-store-service@13727

@wdio/smoke-test-cjs-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-cjs-service@13727

@wdio/smoke-test-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-reporter@13727

@wdio/smoke-test-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-service@13727

@wdio/spec-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/spec-reporter@13727

@wdio/static-server-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/static-server-service@13727

@wdio/sumologic-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sumologic-reporter@13727

@wdio/testingbot-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/testingbot-service@13727

@wdio/types

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/types@13727

@wdio/utils

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/utils@13727

@wdio/webdriver-mock-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/webdriver-mock-service@13727

webdriver

npm i https://pkg.pr.new/webdriverio/webdriverio/webdriver@13727

webdriverio

npm i https://pkg.pr.new/webdriverio/webdriverio@13727

commit: 6cdaa36

@christian-bromann
Copy link
Member

@sebastian-sauer any suggestions how we move this effort forward?

@sebastian-sauer
Copy link
Contributor Author

Sorry for leaving this pr untouched. I'll try to finish this up and remove the wip status

@erwinheitzman
Copy link
Member

erwinheitzman commented Apr 13, 2025

I hope this will be picked up again at some point but I do have a request and one concern. When using the outputDir I would like this to have its own output file because the logs are already really big and it's not part of the Webdriver commands.
My concern is similar to the above when not outputting to files but rather the terminal, the amount of messages is already a lot and people already think that an error in the logs is a bad thing, which it is not.. we gracefully handle such errors. Imagine also logging console errors, the confusion will be insane and things will be messy.
So although I am all for the ability to logs this somewhere, I don't think we should output more logs to the terminal, aka I am personally against logging console messages to the terminal by default.
Perhaps a controversial take but don't get me wrong, I love the work/feature, it's just that I am concerned as people are already mistaking logs for actual errors 🙂

EDIT: the above is not a request for change as I'd first like to hear if others agree with my take or not

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[💡 Feature]: V9 Browser Logs
3 participants