cuprite icon indicating copy to clipboard operation
cuprite copied to clipboard

Axe

Open nialbima opened this issue 2 years ago • 1 comments

Hi all,

I'm hoping this isn't the wrong place to put this comment, but I've found a breaking change in a library I rely on heavily and wanted to see if somebody might have any ideas that would allow me to proceed with migrating to Cuprite.

I've wanted to ditch Selenium for a long time now, and finally got my app in a position where a previous Cuprite spike looked like it could feasibly be turned into a team effort. It didn't, because we've upgraded axe in the interim in order to maintain ADA compliance, and apparently anything above version 4.4.2 of the core Axe API just totally breaks Cuprite.

I took a brief stab at implementing a package here, but didn't have a ton of luck. According to the Axe Community Slack, they're now hard-coding Selenium support in Axe, so a fix would require a lot more than "replace the driver in a new copy of this file with Cuprite." Because the newer versions of Axe have added logic to extract the Browser instance from the Driver, and because Axe relies heavily on evaluating a JS script, the Axe code as-is seems like it'd need major surgery in order to work with Cuprite. My horrible, horrible "hey what if i just dump all the script evaluation methods from Driver into Browser during spec run initialization" approach didn't get very far.

So my questions: A) Has anybody managed to get Axe running with Cuprite in RSPec? If so, how? B) If I wanted to attempt to create a package for Axe that allows the use of Cuprite in Capybara, would this be an appropriate place to request feedback on my code? I have no idea exactly what this would look like yet.

nialbima avatar Sep 22 '22 14:09 nialbima

@camertron posted a helpful monkey-patch here if anybody's interested.

nialbima avatar Nov 23 '22 17:11 nialbima