clj-commons / etaoin

Pure Clojure Webdriver protocol implementation
https://cljdoc.org/d/etaoin
Eclipse Public License 1.0
915 stars 95 forks source link

`click` is flakey for Safari and causes test issues #683

Open dgr opened 3 weeks ago

dgr commented 3 weeks ago

Version 1.1.42

Platform MacOS Safari over many years and many different versions. I just ran into this on the latest Sequoia 15.0.1 version of Safari.

Symptom You call Etaoin's click and the WebDriver accepts the call and returns success, but Safari acts as if it never saw the click.

Actual behavior Safari ignores the click.

Expected behavior Safari should not ignore the click.

Diagnosis Long-standing Safari bug that has been encountered by many people using other libraries to access Safari WebDriver.

Action There is a workaround for this bug using JavaScript to deliver the click for Safari. I'll code up a prototype workaround and we can decide whether or not to merge it.

lread commented 3 weeks ago

I previously said no to working around bugs like this in WebDrivers. But... maybe it is reasonable to work around this very long-standing issue in safaridriver.

lread commented 3 weeks ago

We have a tip for this currently in the user guide: https://github.com/clj-commons/etaoin/blob/master/doc/01-user-guide.adoc#clicking-on-a-link-does-not-work-with-safari