Support executing with :cuprite and :playwright drivers
#32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In an effort to support more than Selenium-based drivers, this change modifies the underlying
axe.jsintegration.Prior to this change, this gem relied entirely on the axe-core-api dependency to execute the audit, collect the results, and raise any violations as testing exceptions.
Unfortunately, that gem does not provide official support for drivers other than Selenium (axe-core-gems#243).
To account for that shortcoming, this commit changes the gem to integrate with the
axe.jsJavaScript code more directly, including changes that invoke the interface directly through a combination of Capybara's execute_script, evaluate_script, and evaluate_async_script.In support of that integration, this commit also extracts the
AxeAuditorandRaiseReporterclasses for the sake of abstracting the auditing and reporting steps (and for future integrations with other styles of audit reporting).