Skip to content

[🚀 Feature]: Selenium Manager change outputs #11365

@titusfortner

Description

@titusfortner

Feature and motivation

@nvborisenko proposes:

if success - exit code should be 0, and the latest line in output should be exact the path to the binary".

@symonk proposes:

never output any logging level to stdout or stderr, just write errors to stderr and non errors to stdout, that way it's easier to pipe to other tools etc and not require every consumer who cares about the path output have to do parsing to get what they care about

My biggest take is that we shouldn't be putting error messages in stdout. I don't like having to remove INFO\t from results, especially since it is inconsistent with behavior of --version.

Maybe a compromise is to log the level when --debug is turned on, and leave it off otherwise?

Usage example

Current behavior

This is stdout with error code 0

$ ~/selenium-manager --browser firefox INFO	/Users/titusfortner/.cache/selenium/geckodriver/mac64/0.32.0/geckodriver 

This is also stdout with error code 0

$ ~/selenium-manager --version selenium-manager 1.0.0-M2 

This is stdout with error code > 0

$ ~/selenium-manager --browser firefoxes Error: "Invalid browser/driver name" 

This is stderr with error code > 0

$ ~/selenium-manager --what error: Found argument '--what' which wasn't expected, or isn't valid in this context If you tried to supply '--what' as a value rather than a flag, use '-- --what' Usage: selenium-manager [OPTIONS] For more information try '--help' 

stderr with error code > 0

$ ~/selenium-manager --browser error: The argument '--browser <BROWSER>' requires a value but none was supplied For more information try '--help' 

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-rustRust code is mostly Selenium ManagerI-enhancementSomething could be better

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions