A Smattering of Selenium #79
The only links left now are ones currently open in tabs right now. Hurray!
- November’s SFSE was Continuous Deployment At Mozilla: slides, video
- Practical Web Test Automation is a book available in both a free and paid editions. I haven’t looked at it so can’t comment how good or bad it is.
- The Why, What and How of Software Test Automation isn’t too horrible, though I don’t like the word ‘guideline’ and of course the measurement section at the bottom is complete hokum.
- Internet Explorer for Mac the Easy Way: Run IE 7, IE8, & IE9 Free in a Virtual Machine seems a bit sketchy in terms of license legality, but…
- PageMapper is a bit of template magic to create Page Objects
- Web Consistency Testing is starting to push what can [should] be done with Selenium
- Taking Automated Tests Off The Pedestal erm, takes automation off its pedestal
- Monkey-Patching iOS with Objective-C Categories Part I: Simple Extensions and Overrides is a technique I haven’t seen before.
- A Tool’s Tale would be better with Sebastian in front of it, but is still useful as a standalone deck.
- Introducing the software testing ice-cream cone – Dangit! Now I want ice cream.
And my post this edition is WebDriver and Meta Tags.
A Smattering of Selenium #78
Look! A light at the end of the tunnel!
- ASP.NET MVC + Selenium + IISExpress – You don’t see too many Windows how-to’s. Not sure if they just don’t get tweeted about or is more a sign of that community.
- Write Logs for Machines, use JSON is a nice idea. I wonder if (when) the major CI containers will land on a pseudo-standard for consuming JSON
- Remote File Upload using Selenium 2′s FileDetectors shows yet another area I need to figure out in WebDriver (not Selenium 2 as Santi so stubbornly referred to it as
- Janky is GitHub’s CI server. Seems like this is the current cool route; that is, implementing your own rather than building off of one of the major existing ones. Which I suppose makes sense.
- From Dependent Tests to Independent Tests to Independent Assertions has a nice refactoring trick to clean-up your scripts
- I’ve posted how to inject Sizzle into your WebDriver scripts at least once, and here is another time. Injecting the Sizzle CSS selector library
- And if Sizzle isn’t your thing, WebDriver Plus has JQuery-esque DOM Traversing
- Important notice regarding Java packages in Partner archive is something to keep in mind if you want to run the Selenium Server on Ubuntu
- Looks like ShingingPanda is the Python equivalent of CloudBees, and has instructions on how to get Selenium running on it in ShiningPanda is Selenium ready!
- Articles that lead in with Boy. That was a headache. are usually good ones to link to. WebDriver, Webdriver, and more web driver. This one is about the WebDriver iOS driver.
And today’s post of mine is WebDriver and Cookies which explains how, well, cookies and webdriver play together.
A Smattering of Selenium #77
No. Really. A Smattering every day this week and I’ll have the link queue cleared.
Go!
- Mentioned in #74, Automating Web Performance data collection with BrowserMob Proxy and Selenium is more than just a link to GitHub
- Of course you are using the excellent Requests module rather than urllib2 which ships with Python; but are you using envoy instead of subprocess?
- Grabbing Screenshots of Failed Selenium Tests uses some JUnit magic. Also, gotta love articles that end in How easy was that?!
- Rackspace Open Sources Dreadnot – Aside from an excellent name, its based on Deployinator which is pretty darn cool and I saw in action the other week
- Geeks and Repetitive Tasks. Umm. Yup.
- Officially Introducing “SST” that this link is here is evidence that I should go through the queue from the top of the list. There was a screencast on SST in #75.
- 7 Deadly Sins of Automated Software Testing – nice article and as someone who has done linocut before, that’s an impressive print that is featured.
- Introducing Selenose is a Selenium plugin for Nose
- Two useful Firefox plugins I stumbled on are FirePath and Firecookie
- Sorting a million 32-bit integers in 2MB of RAM using Python is this edition’s geeky investigation
One thing I have done in these Smatterings is to not link to my own stuff, but am going to start linking to an article or two at the bottom of the Smatterings (unless there is general community backlash against the idea).
- In Introducing PHPWebDriver I unleash some code upon the world
A Smattering of Selenium #76
Post ten links, find seven more to add to the queue.
- Selenium Page Objects and Abstraction is one person’s attempt at writing down how they describe POs
- Running Geb specs using a separate driver profile to test mobile views in Grails shows how to create a custom Firefox profile in WebDriver
- Django and Selenium on Jenkins/Hudson (Headless) is yet another tutorial around xvfb but has a trick at the end I don’t think I’ve seen
- Python’s concurrent.futures is today’s analysis of building a script
- Browser Sedimentation has an outstanding diagram of whats what in a browser. I know I’ll be referring back to it.
- Airbrake seems like it would be useful — especially once you start parallelizing execution across instances
- Whole-team Test Automation: Making the Move offers some tips for implementing it on your team — at least according to the blurb at the top
- Hey look! Another xvfb think. Can we please just put this into the Se docs already?

- Selenium Webdriver, Perl, and Saucelabs also acts as a sample for the (a) Perl WebDriver binding too
- Convincing management that cooperation and collaboration was worth it – dark launches, config flags, oh my.
A Smattering of Selenium #75
And home. Which mean 100% more internets! Or at least 98% more.
- As things like native-driver become more prevalent, knowing how to do Continuous Integration for iOS projects with Jenkins CI will become more important
- Chocolatey seems like a nice and big step towards managing Windows build slaves
- SST (Selenium Simple Test) comes out of Ubuntu and has a quick introductory screencast.

- Automate Salesforce Config Changes with Selenium is a contest. But only for Java so I have no interest in it. Submissions are due in two days. Could be fun.
- cssify is a great little app for converting xpath to css. Now to see what sorts of devious xpath we can put in and blow Santi’s mind with bug reports.
- Continuous Delivery with Bamboo Stages – I normally call these ‘chains’ but nicely shows how to chunk the march to production. It also cracks me up that the corporate twitter feed has the upgraded beer cart photo in the sidebar right now.
- One talk I skipped at Codemash the other week was on Apple’s UI Automation stuff. I suspect this is the low-level implementation of things like native-driver which is valuable to have at ones fingertips.
- While not automation related directly, if you are automating Android stuff you should also be looking at the Android Design site to understand the idioms and such that the platform thinks you should be using
- The road to faster tests is a fantastic write-up of an investigation into why their scripts were so slow. I’ve been doing this a lot recently. Well, investigating slowness at least.
- I actually got the above link from How We Reduced Our Rails Test Runtimes By 10x which is an even larger investigation write-up.
A Smattering of Selenium #74
It is kinda hard to do these without reliable internet… dear hotels, fix. your. internet.
- Testing Facebook Login with Selenium has some nice Python helpers to dealing with Facebook auth
- VBS WebDriver – ummm, wtf?!
- Python Browsermob Proxy Library – the best code is code you don’t have to write yourself. (Thanks David!)
- I saw A Few of My Favorite (Python) Things at CodeMash last week and learned a few things
- def test = new BDDMadeEasy(Selenium,EasyB,Groovy) is a writeup from a recent presenter at the Greater Boston Selenium User Group
- Receive SMS alerts when a Selenium test fails seems like both a good idea and a bad one at the same time
- Have you always wanted to automate minesweeper? is such a good contest. We need more of these.
- Case Study: Building the Stanisław Lem Google doodle is interesting. And likely useful for others doing JS heavy stuff
- A neater way to use reflection in Java seems trick to me. Or might be utter hackery to someone who actually knows Java
- The beginning of a standard for browser automation makes me have this song in my head
A Smattering of Selenium #73
- Two Ruby gems
- rwebspec-webdriver – Executable functional specification for web applications in RSpec syntax and Selenium-WebDriver
- loadable_component – Ruby implementation of LoadableComponent
-
- A three-parter on building a framework showing there is more than one way to skin the framework cat.
- Testing Concepts
- Base Classes
- Putting it all together
- Another three-parter on Is the Cost of Continuous Integration Worth the Value on Your Program? – part 1, part 2, part 3
- 31 Days of Testing – in 23 parts (though I expect the series will finish after CodeMash)
- The secret history of “about:jwz”, “about:mozilla” and the Netscape Throbbers is just a fun browser history read
- Pulling Jenkins’ strings with Puppet looks like a way of managing Jenkins instances through puppet — which is darn cool.
- Given When Then is a BDD tool for Node.js which does its post-conversion-magic runs using WebDriver (please stop calling it Selenium 2!) and Sauce Labs
- Selenium Utility Funcs is a list of python helpers (with slightly friendlier names) for WebDriver
- Converting Gems shows a neat trick for converting ruby gems into .deb files so they can be installed and managed via apt
- Since we all care about the web, Move the Web Forward – You love web standards. You want to give back to the community. Curious about where to start?
Selenium 2.16 Released: Welcome to 2012!
It’s been a while since we last blogged about a Selenium release. Since the release of 2.0, we’ve been attempting to give you a fresh and shiny Selenium release every week (though, in reality, we’re managing to get you one every 10 days on average). This allows you to pick the version that’s most suitable for you and your teams, but provides a route for quick feedback on how we’re doing. I think we’ve now ironed out a lot of the initial problems and bumps we ran into, so we are extremely proud to announce the release of Selenium 2.16.
If you’re unsure about what’s been happening since the last time we announced a release here, the best place to look is our changelog. The most notable feature in 2.16 is better support for Firefox 9, but if it’s been a while since you’ve last updated, we’ve been beavering away on bug fixes and making existing features work as flawlessly as possible. Now’s a great time to update!
One of the key tools we use for assessing whether it’s okay to push a release is our continuous build. This watches for each and every change made to the project’s source code, and runs an increasingly vast suite of tests to verify that nothing has broken. Our friends at SauceLabs have been extremely generous in providing support for this, and have worked closely with us to make the build as stable and quick as possible. Special kudos and thanks to them!
A Smattering of Selenium #72
January means its time to escape from under the deadlines I found myself under during December so some of this stuff is a month old (or older!). Hopefully it is still interesting though.
- Localizing automation well is something I’ve seen people struggle with. Creating Multi-Language Web Applications with Zend_Translate is a possible solution for PHP folks.
- Using Spinach with Selenium and of course Spinach seems to be a different implementation of Cucumber. (And yes, I’m sure that’s a great oversimplification.)
- Introducing Android WebDriver more or less made the selenium search I have for twitter useless for a day-and-a-half with all the retweets.
- Selenium Webdriver – Wait for an element to load shows the difference between an explicit and implicit wait
- Testing GWT Apps with Selenium or WebDriver – take note of problem 3. Friends don’t let friends use GWT…
- The developer’s guide to browser adoption rates is the sort of thing anyone doing browser automation needs to know about
- integrate your selenium test cases into nagios – this is something I keep thinking I should try out.
- Continuous Integration Principles–Task Size Rules has a diagram that seems about right — even if I haven’t really thought about it in great depth.
- Another robust way of how to locate ajax elements using Selenium 2 + webdriver kinda looks like a re-implementation of the WebDriverWait stuff
- A tale of three ruby automated testing APIs (redux) was in an earlier queue, until he pulled it down. Now that its back, its back here too.
