Skip to content
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

(wdio-config): add outputDir default #12666

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

Conversation

erwinheitzman
Copy link
Member

@erwinheitzman erwinheitzman commented Apr 10, 2024

Proposed changes

By default all the webdriver logs are put into the browser. This PR changes this so that the logs are now stored at {wdio root}/.wdio-artifacts/logs, making for a smoother experience and less confusion when people see errors that are not important to them (test passes but there is a webdriver error).

Marked as a breaking change because people could be relying on the logs in some ways that we cannot anticipate.

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)

Reviewers: @webdriverio/project-committers

@erwinheitzman erwinheitzman added the PR: Polish 💅 PRs that contain improvements on existing features label Apr 10, 2024
@erwinheitzman erwinheitzman added the PR: Breaking Change 💥 PRs that contain breaking changes label Apr 10, 2024
Copy link
Member

@christian-bromann christian-bromann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wdyt?

@@ -7,7 +7,7 @@ export const DEFAULT_CONFIGS: () => Omit<Options.Testrunner, 'capabilities'> = (
specs: [],
suites: {},
exclude: [],
outputDir: undefined,
outputDir: '.wdio-artifacts/logs',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should call the directory just wdio and maybe start recommending using this for all WebdriverIO related files, e.g. logs, baselines and config files

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this idea a lot and am thinking about a .wdio directory so that it is clear that this contains configuration files and more.
It also means the files are at the top in your IDE which is useful as you have all you configuration related files in one location (any dot files (directories) will all live at the top). What do you think? 🙂

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense to me. I would have one request which would be to allow users to store wdio logs to stdout and in stdout at the same time. AFAIK right now users can only decide between either of them and I think it makes sense to allow the scenario to make both possible.

Background: I personally like to have these WebDriver commands prinited in stdout so I can immediately debug them as my test go on and I print stuff in the console. If we set a default outputDir I would need to comment in/out the output dir option.

I think I would be fine if I can disable the outputDir option by just passing in a --no-outputDir but not sure if yargs supports recognises this and overwrites the hard coded property in the config with undefined. Alternatively I can imagine to pass in a --stdout-logging or just --stdout to enable both.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Breaking Change 💥 PRs that contain breaking changes PR: Polish 💅 PRs that contain improvements on existing features v9
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

None yet

2 participants