Selenium/Webdriver

A lot of people are going to ask me why are you not using Sauce or a cloud test farm, but basically the ability to touch-test a swathe of browsers that I control appeals to me. And right now i want to vent about how broken some things in the web space really are.

  1. Firefox webdrivers do not support the getlogs method on the wire because Mozilla decided back in 2016 that the spec was unclear about logformat, so they just decided that a “500 HTML operation not allowed” was a good exitcode, and dropped the potato
  2. Opera is supported by the webdriver, but the driver version number does not even remotely match the browser level, and the latter version number is impossible to divine because the UI in Opera is completely insane! So unable to get Opera working under selenium.

Anyway rant over.
Done, no harm meant to any selenium project maintainers. If anyone feels I am angry at you directly, please just write better documentation for your bugs and move on.

1 Like

FWIW I have found that Cypress Automation Testing tool “unbreaks” testing in the webspace.

A few years ago I was massively disappointed with Selenium and over the wire browser testing. I felt it was no longer a satisfactory option for testing modern webpages. I tried different flavours of Selenium (eg. Nightwatch, Webdriverio). No shade thrown on these tools or Selenium either, but still my issues weren’t solved.

When I tried Cypress I loved it. It has quite a few limitations, but aside from these for me the appeal is that:

  • it’s customisable,
  • allows simple debugging of tests (@conrad.braam as you put it “touch-test” :smiley:) ,
  • encourages smaller End to End tests,
  • encourages actually really thinking about what value the automated test should provide
  • isn’t over the wire.
1 Like

Thanks Kris

Yeah, my Opera started working once I upped it from version 70 to 71 , the webdriver was version 85, which tells me there is a project management problem, so still a bit unhappy about that, but so very chuffed that manual updating did solve this - although for how long it does, uncertain.

Which is why looking into Cypress makes more sense, I have a penchant for going low level in order to only solve the one main problem without adding dependencies into every project. Have been bitten by test frameworks polluting the environment far too often when they do things like turn off a security flag or similar without all made aware, so I am happy to be proven wrong.

So long as it does not require a rewrite. I am bound to keep some Python bindings to support other people in my boat. Cypress is not a “browser experience” testing platform, it’s sold more as a unit or system test tool requiring experience and tooling in JS and thus may well be a side project that my server side team might actually get more benefit from. Keen to give it a shot, thanks.