In protractor 1.5.0, there was a new --troubleshoot
flag introduced, which is not properly documented at the moment, but in the changelog it states:
Improve error messages and add debug info when
- the configuration file cannot be parsed
- a webdriver session cannot be
started
- more than one element is found using element
Which use cases does --troubleshoot
command-line argument cover?
The reason I ask is that this is a bit confusing:
- Should not it be enabled by default? Because if there are errors like listed above, having an additional information about the error would be helpful.
- There are also relevant
--verbose
and --stackTrace
flags. Are they also related to debugging and troubleshooting?
Currently --troubleshoot
does two things:
- It parses the config and provides suggestions on it
- It prints out all the relevant environment variables (OS, protractor version, framework, capabilities, etc) so that when they report the problems others like me can look at this information to identify if the issue is related to the environment.
Right now, --troubleshoot
aims to help users who cannot get protractor to run (NOT for troubleshooting failed tests). And it's more like:
if you can't get protractor to run, run this mode to see if it catches
anything before submitting an issue; if it doesn't, paste the output
from troubleshoot so we don't have to ask about OS/version/etc every
time.
That being said, there are plans to add additional features to help users troubleshoot their non-running tests in the future.