dequelabs / axe-core-maven-html

Tools for using axe for web accessibility testing with JUnit, Selenium, and Playwright
Mozilla Public License 2.0
81 stars 102 forks source link

(Selenium) Chrome > 128 fails to run on lazy loaded iframes #480

Open Zidious opened 1 day ago

Zidious commented 1 day ago

Since chrome >= 128 passing --headless will default to use --headless=new. This causes the lazy loaded iframe to have unwanted side effects when running axe and does not catch the #lazy-frame as part of the incomplete results. I have verified that this is also the case in fully headed mode. Note: this also is an issue with our @axe-core/webdriverjs integration when running fully headed or headless=new.

The test in question: https://github.com/dequelabs/axe-core-maven-html/blob/3d13cc7662e7428c7217ba687e696a0622c9ac62/selenium/src/test/java/com/deque/html/axecore/selenium/Axe43xIntegrationTest.java#L564-L584

I have verified on Chomedriver 126 this issue doesn't appear. The intermediate workaround is to pass --headless=old as part of the chrome arguments which acts like the old --headless mode.

Follow ups include: