So the San Jose Selenium meetup featured Py.Saunter which is both awesome(!) and sad that someone else other than me publicly demoed my framework before I have. Here is some annotations to go along with Mary Ann’s presentation which was recorded using Adobe Connect and can be viewed from her blog.

  • 1:40 – Why RC? – Now, the decision between RC and WebDriver is much easier. Use WebDriver unless you have a large investment in RC. And, well, even then, just stop writing RC scripts and start using WebDriver.
  • 2:40 – Dropping Perl and PHP – It wasn’t for anything malicious; more that no one stood up and said that they wanted to maintain drivers for it. No maintainer, no driver.
  • 6:05 – Flags – I personally would also add in either a ‘shallow’ or ‘deep’ tag. She uses ‘smoke’ or ‘regression’ to indication the same, but I like things that are logical opposites.
  • 11:11 – Why the modules directory? – Why not? I could have called it ‘lib’ or ‘stuff’ or something else. But it holds modules (and packages…) so modules it is
  • 12:30 – Asserting in loops – For a script like this, you really want a soft assert (verify) rather than a hard assert. The way the script is written here, as soon as a key is missing the script will end and the remainder will not be checked
  • 15:08 – Link locators – See death to visible content as locators in automated tests for what Mary Ann is talking about
  • 16:32 – Locator Generation – Re Eliza’s question, you the scripter need to generate the locators. One of the knocks on Se-IDE is that it tries to generate locators but they can be pretty darn brittle.
  • 18:04 – files dir – I would put this in support/*
  • 19:42 – Screenshots – The commands that get snapshots taken in them can be seen in SaunterSelenium.py
  • 21:30 – Viewing Screenshots – An idea would be to use a photo album tool and point its root directory at the logs directory
  • 22:55 – Can’t find things its not looking for – People should remember that automation will happily pass something that is ‘wrong’ that it isn’t expecting
  • 27:40 – Directories – Yes. If you have 1000 tests and are taking screenshots you will end up with 1000 directories. Run it in ci; then zip up the directory and store it as an run artifact
  • 31:40 – TestLink integration – It’s manual, but baby-steps. I could see a situation where it launches things and reports failures back to the system automatically
  • 34:50 – FogBugz integration – FogBugz has a nice API, so things could get logged automatically that fail
  • 41:15 – Testing the Test – Nice trick! pdb is black magic…
  • 45:50 – Mailing List – Ask and you shall receive (first post moderation is enabled for spam trapping…)
  • 45:55 – Future of Py.Saunter – I don’t expect it to go away since I use it. But its also open source…
  • 46:00 – Future of RC – Details of this are starting to
  • 46:30 – Docs no good? – Where do I need better information? These are the official ones

Thanks Mary Ann! Oh and I’ll be speaking at the July meetup.