-
Notifications
You must be signed in to change notification settings - Fork 30
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
Lots of test flake when upgrading from 4.7.0 to 4.8.0. #349
Comments
Extra baffling, we added an extra check to make sure content is rendered before checking a11y, and it still fails as if the page is blank: within_window(current_window) do
expect(page).to have_css('div')
expect(page).to be_axe_clean
end |
First, some relevant comments from the axe-core issue
|
Continuing the discussion from the axe-core issue: We did recently encounter a Java bug where how we were opening a blank page for the axe-core audit caused issues, so we'd like to run some experiments in Ruby to see if the same problem occurs outside of Java. We're also wondering if this might be a browser driver issue. Did you per-chance upgrade your browser driver version at the same time you updated axe-core? If so could you try downgrading the browser driver package to what it was before to see if that makes the tests less flakey? Also, when the log in button is clicked, what is the flow that happens? A lot of log in flows will perform redirects and it could be that with axe-core being faster as tests were turned off that it's trying to run axe-core during a redirect flow where the page it's currently on is currently blank. It would depend on when the "Manage" content is there and what happens after that. Lastly, would it be possible to create a reproducible test case that we could test on our end? That would better help us debug the issue and make sure it's not an issue with our ruby library. |
@straker thanks for the followup.
No, we've been on
Each step is a form post that redirects to the next page, but the assertions ensure the redirect is complete before running the accessibility checks. The "Manage" content shows up after the final redirect is completed.
Unfortunately, I don't know how to accomplish this. I'd be happy to do a screen share with you and walk you through things on our end. I did set it up on an open source project and put it on a repeat on CI, but so far haven't seen any flake. I'm a little surprised, actually, because on that project I haven't even added any assertions before running accessibility checks. |
Hey @mockdeep just following up to see if this is still an issue. |
Hey @michael-siek we've added a requirement to ensure that the next page is fully loaded after navigation and the amount of flake seems to have gone down significantly. In previous versions we were able to rescue from the various errors that popped up from I'll close this for now and I can report back in if anything else comes up. |
I'm having trouble figuring out why we're seeing this issue. Even when logging in our users, it will occasionally report accessibility violations like this:
Prior to running a11y checks, we assert that we're fully on the following page. E.g.:
However, it looks like
axe-core
is checking against a blank page, even though we've asserted that the page is loaded. These are server-rendered Rails pages without any client-rendering. There's a bunch of other JS loading on the page, but it doesn't do much on the home screen.There was a little flake on
4.7.0
, but we found that we could retry the a11y checks after a couple of seconds and they would work. Unfortunately, the retry logic doesn't resolve the issue on4.8.0
. It retries several times and still fails.The text was updated successfully, but these errors were encountered: