Add knapsack qa report and use it to run tests in parallel
Use the RSpec runner with knapsack
The way the Knapsack runner uses exec to start rspec seems
incompatible with the way we expect it to work. Plus, it requires
specifying KNAPSACK_TEST_DIR.
Instead, we use knapsacks AllocatorBuilder to select the spec
files to run, and then start rspec as normal, via
RSpec::Core::Runner.run
This also means we can incorporate tags.
Let the job run automatically
Include KNAPSACK_TEST_FILE_PATTERN in vars
Check all defined knapsack env vars before requiring knapsack
- Clarify message shown when skipping quarantined tests because
they don't have all the specified tags.
- Simplify rejecting item from array
- Remove 'pass' from example descriptions to avoid confusion
Instead of modifying the runner, use config hooks to skip quarantined
tests, and to allow only quarantined tests to be run, if desired.
This way quarantined tests are skipped, not excluded completely, so
they are still included in test results.
Override page object methods to log the actions taken by the methods
before or after the action, as appropriate.
Allow page object action logging to be turned on via a QA_DEBUG env var.
Unlike CHROME_HEADLESS (and the soon to arrive VERBOSE), QA_DEBUG
is false by default.
QA_DEBUG is used instead of just DEBUG because that enables Selenium
debug logging.
Mask passwords entered into fields with a QA selector with 'password'
in the name. Doesn't mask sensitive data entered into any other field.