Selenium Blog - 2012 Archive

December 6, 2012 by adam goucher

A Smattering of Selenium #132

2.27.0 is now out which means you can close the browser tab that points to the old Firefox installers.

November 29, 2012 by adam goucher

A Smattering of Selenium #131

Not sure how widely broadcast this has been (cus, you know, we’re good at communicating and stuff), but if you are using 2.26.0 and Firefox 17 you will get a nasty bug. 2.27.0 is in the works to address this (and a couple other things…) so if you need FF right now, keep your install at the latest 16 release.

November 27, 2012 by adam goucher

A Smattering of Selenium #130

Can’t get enough Se bloggage? Have a look at Overview of Selenium Blogs — though I must say there has to be something wrong with the Alexa algorithm if I am that far down the list. And behind both David and Alister. 🙂

  • Must Have Git Aliases: Advanced Examples reminds me of someone I used to work with who likely couldn’t function on a clean unix system, but with all his aliases was mind blowing to watch
  • Writing a Selenium Test Framework for a Django Site (Part 3) has the usual myths and FUD around XPath and embeds locators in the script method but is the first thing I’ve seen that uses the Color class in Python so I’ll overlook those things. This time.
  • How to solve Selenium focus issues introduced me to jQuery’s :focus pseudoselector
  • I’m sure there is something to be learned from Use Rails until it hurts. Especially from the paragraph above the twitter inclusions
  • Checking an image is actually visible using WebDriver is something I plan on stealing.
  • Android 4.0 in VirtualBox seems like a cool way to build out an android build farm
  • Autoloading in PHP and the PSR-0 Standard has some Symfony specific bits, but is generally useful
  • Extending Selenium with jQuery is something else I intend to steal
  • From the same person is Combining py.test and Selenium to test webapps which shows off some of what py.test can do with fixtures. Not how I would do it, but cool none the less.
  • Let me say this again; the officially blessed solution for getting response codes is to route your calls through a proxy (like the BrowserMob Proxy) and then ask it what they were. But if you are bound and determined to craft ‘solutions’ that only work in a single browser, or a single language, or require changing your application then How To Get The HTTP Status Code In Selenium WebDriver will make good breakfast reading. North American time that is…
  • November 26, 2012 by adam goucher

    A Smattering of Selenium #129

    A hardy welcome back to work to our American friends who spent Thursday being thankful for what they had, then getting into fist fights at stores for things they thought they didn’t need the next day.

    November 19, 2012 by adam goucher

    A Smattering of Selenium #128

    …as I avoid writing code that deals with dynamically constructed tables. Without any sort of unique locator. Of course.

    November 16, 2012 by adam goucher

    A Smattering of Selenium #127

    Within an hour I had some more things to add to the last Smattering. Oh well, I’ll just save them up…

    • Har-assert looks like something useful to include in your project if you are using Java. And the browsermob-proxy (which of course, you all are)
    • Web Content Accessibility Guidelines (WCAG) 2.0 seems like something more people should care about.
    • Right. Here is another cool part of the nebulous, meaningless thing called HTML5. Using the PageVisibility API. Anyone want to take bets on how long this gets used for evil rather than awesome?
    • JUnit 4.11 is out. The link is to the release notes. The ‘test execution order’ stuff seems like bowing to pressure rather than good test design…
    • Why Averages Suck and Percentiles are Great is your monthly statistics lesson.
    • Alright, here is the challenge for everyone who wants to get involved in the project but is afraid they cannot code well enough. (If I can code well enough, so can you…) The docs can always use more people! And then we should get !se to work on via DuckDuckHack.
    • Test::Page is another helper for making Page Objects in Ruby
    • The first item in An impassioned plea to other Start-up founders to use automated tests is the only one that really holds any water. The rest, well, is showing the author’s developer bias I think. (The rest of his blog seems pretty good as well.)
    • RainbowDriver looks interesting. Though after the flurry around the Mobile Test Summit there seems to be no more commits…
    • The Shumway Open SWF Runtime Project Not sure how I feel about Shumway. On one hand, open is better than closed, but from an automation perspective, SWF is a pain

    November 14, 2012 by adam goucher

    A Smattering of Selenium #126

    I’ve been threatening that I was going to do this for awhile…

    • What it feels like when you are running a long running batch of scripts…
    • Remember kids, your script cannot adapt to the unexpected…
    • But on occasion they can do something that…
    • Oh! Here’s a useful metric of productivity!
    • And just when you thought you were doing something without anyone paying attention…
    • Unfortunately what a lot of automation is like…
    • Or how about when you are writing code against the wrong environment…
    • How writing tests for a testing framework feels…
    • has too many to link to individually

    November 12, 2012 by adam goucher

    A Smattering of Selenium #125


    • Scripting batch 1: waiting for an email
    • Scripting batch 2: waiting for an email
    • Scripting batch 3: waiting for an email
    • Scripting batch 4: waiting for an email

    Perhaps I’ll do something else right now…

    • Alright kids, its not the Olympics, but Curvy would be a fun app for someone to automate.
    • Wow that was fast. Øredev has started to publish the videos from this year’s conference. Lots of good things in there.
    • The right tool for the job! is one of my favourite rants. And one that catches people off guard when I mention it — ‘but you are a selenium consultant’…
    • Mobile apps still need automated tests. Yup. Of course, its not like the OS vendors are helping their developers to do this. Actively hindering them is more like it…
    • On Being A Senior Engineer. Somewhere, a newly minted ‘Senior QA Developer’ fresh out of school is having a bit of a cry…
    • Right. So how would Composition over inheritance affect the Page Object pattern. Or perhaps not affect, but what would that look like?
    • Hrm. Eclim might be how to make Eclipse not suck.
    • And while I am taking cheap shots at Eclipse … IDEs Are a Language Smell. Or put another way, Dear Android…
    • Someone (or someones) should do a time analysis of writing out scripts something like Where Does All That Time Go?. I suspect though that a lot of automation would be cancelled as a result though.
    • WonderProxy seems like it might be a useful tool. Especially if you are doing behaviour based upon where you are. Though wow it is annoying to be somewhere you don’t speak the language and have your language cookie ignored. cough google cough

    November 6, 2012 by adam goucher

    A Smattering of Selenium #124

    Too. Many. Links. Not. Enough. Posts.

    November 2, 2012 by shs96c

    Announcing Selenium 2.26: the “It’s Really Real” Release

    It’s been a long time since we announced a new Selenium release on this blog, as we moved to a model of quicker releases, but we’ve been working on 2.26 for far longer than normal — it’s out! Download it now! — so I thought it best to let you know. We’re aiming to head back to faster releases, so hopefully you won’t see another blog post about the release for a while (though I’m sure they’ll appear in the “Smatterings of Selenium” posts)

    Some highlights that you might be interested in, include support for the latest and greatest versions of the popular browsers out there (including native events on Firefox 16!), the deletion of deprecated methods from the language bindings, better emulation of user input on IE when dealing with “sucker fish” style menus, and a slew of bug fixes. There’s more in the changelog!

    The inimitable Jim Evans held the Release Bacon for what has become one of our most challenging releases to do, so a big “thank you!” to him. A “thank you”, also, to the rest of the core developers and Sauce Labs team members who worked on fixing so many bugs and getting our continuous build green, especially Alexei Barantsev who did some amazingly detailed and painstaking work to help the release through. And a final “thank you” to our users: thanks for your feedback and support. 🙂

    October 17, 2012 by adam goucher

    A Smattering of Selenium #123

    October 15, 2012 by adam goucher

    A Smattering of Selenium #122

    Let’s try the ‘all video’ edition this time.

    Hrm. That didn’t work … let’s add some slide decks.

    October 2, 2012 by adam goucher

    A Smattering of Selenium #121

    Its the ‘all github’ edition today!

    • Dave goes a little strange on us with his diy_framework as an emoting robot. Here is the deck that went along with it.
    • Can’t get enough of the food-based frameworks from the kids at Sauce. If you are using the PHPUnit included WebDriver bindings [and Sauce OnDemand] then Sausage could be of interest.
    • Of course, if you are just using PHPUnit, then paraunit could of interest. I’ve written similar before, but this looks cross-platform.
    • buster-selenium is, erm, well, Selenium for buster.js
    • Why did I only learn about ievms now? Oh. Well, one of the requirements is patience. That explains it.
    • gifsockets; I’ll wait while you pick up the pieces of your exploded brain
    • How to capture a FF profile log. Dunno what gets put in it, but tuck this away in your back pocket
    • I don’t have a use case for flower but collection of modules to build distributed and reliable concurrent systems in Python seems link-worthy
    • Again, not sure when you would use it, but webdriver-user-agent-randomizer seems darn cool
    • You don’t see too many open-source ios apps, so here is GoogleTransit-iOS6

    September 18, 2012 by adam goucher

    A Smattering of Selenium #120

    September 14, 2012 by adam goucher

    A Smattering of Selenium #119

    Its that time again, 4th Annual Automation Honors Voting is now open. Vanity contests FTW!

    September 7, 2012 by adam goucher

    A Smattering of Selenium #118

    <Insert witty/snarky commentary on something here>

    September 5, 2012 by adam goucher

    A Smattering of Selenium #117

    September 4, 2012 by adam goucher

    A Smattering of Selenium #116

    So do people celebrate the day after Labor day as the beginning of summer?

    August 29, 2012 by adam goucher

    A Smattering of Selenium #115

    August 27, 2012 by adam goucher

    A Smattering of Selenium #114

    Hurray for having fillings done on both sides of my face. Don’t expect me to speak without drolling for rest of the day.

  • I’ll admit to not knowing what the difference is/was between FluentWait and WebDriverWait, but FluentWait with WebElement explains it well. With sample code!
  • PHPUnit + Selenium + php-webdriver = hours of entertainment (Part 1) shows a nice extension to PHPUnit_Framework_TestCase. Now if only he was using my active fork of the php-webdriver bindings rather than the original project Facebook seems to have abandoned.
  • Speaking of Facebook, Under the hood: Rebuilding Facebook for iOS is going to be oft cited in the whole ‘html5 or native’ discussions for the next while I think
  • Santi spoke at the recent San Jose Selenium Meetup; video, slides
  • On Failure and Resilience from Mike Brittain
  • Automatic Conditional Retina Images seems like something we should know how to check if its being loaded properly or not. Guess I need to go buy an iPad to check this out…
  • Puppet Labs updated some of their documentation recently; Puppet 2.7 Reference Manual, Factor 1.6 Core Facts
  • Reddit opensourced push which is yet another deployment tool. Remember though, you are likely not Reddit.
  • Hey lookit! The WhiteHouse uses Selenium. Though the scripts are Selenese. And named .php for some unknown reason. Actually, they look a lot like they were created as part of some sort of scaffolding. Anyone?
  • Not sure what to do with it, but Updated List Of Vendors In The Content Delivery and Transparent Caching Markets looks rather useful. Or not.
  • August 22, 2012 by adam goucher

    A Smattering of Selenium #113

    /me is not looking forward to when the jet lag whallops him

    August 21, 2012 by adam goucher

    A Smattering of Selenium #112

    Eyes are gross.

    August 20, 2012 by adam goucher

    A Smattering of Selenium #111

    When this gets published, I’ll be sitting around the Barcelona airport waiting for my connection home. Unless I screwed up the time math. 🙂

    August 14, 2012 by adam goucher

    A Smattering of Selenium #110

    Dear body; what time zone are you in?

    Ah well, until that battle resolves itself, here are some links.

  • Firefox the Clear Winner for Automated Testing has a wonderfully SEO friendly title, but really is just some cool usage graphs for their system. Extrapolate beyond that at your own risk.
  • Task Automation FTW! — make your application installable! I did something like this a decade ago (also using python) but finding something in my own blog seems a harder challenge than it should be.
  • Running SauceLabs Selenium test suite locally with PHPUnit explains how to solve my number one complains for the various BaaS vendor plugins.
  • And TextMate is now Open Source, ya! Under GPL3. Oh…
  • I don’t know what IFTTT is, or how to see the actual script [without joining], but Capture all Smatterings of Selenium entries to Evernote might be of interest to people. If a bit meta to be linking to it.
  • So Patrick Lightbody isn’t at Neustar (which bought Browsermob) any more (congrats on the new gig at New Relic btw!) so I was a bit worried about what was going to happen with the BrowserMob Proxy. Seems the GitHub effect has happened once more and there are others also Tweaking BrowserMob-Proxy.
  • As is the case with similar articles to Things I didn’t know about the WebKit inspector, read the comments for more things you likely didn’t know.
  • Feature Flags in JavaScript – do this!
  • Managing browsers from the command line on OS X is a bit of shell trickery I’d ashamed to admit I didn’t know. Well, the open bit at any rate.
  • Code First API Library, Scaffolding & Guidance for Coded UI Tests seems very WebDriver-esque in how to do things. Go Team! 😉
  • August 13, 2012 by adam goucher

    A Smattering of Selenium #109

    Going to be on an airplane for the better part of the next day, so will likely miss some links … unless I am tagged on twitter with it.

    August 7, 2012 by adam goucher

    A Smattering of Selenium #108

    Apparently the links are slowing down for the summer?

    August 1, 2012 by adam goucher

    A Smattering of Selenium #107

    Back on the train again. Wow, the highway is screwed today.

    July 31, 2012 by adam goucher

    A Smattering of Selenium #106

    In case you are curious, the train just went past my old neighbourhood.

    • Marionette – The Future of FirefoxDriver in Selenium is a project that has been hinted at here before I think, but this is its coming out party. Oh. And its the future of the Firefox driver. Now, what I need is an A-Team t-shirt…
    • FlynnID 0.2 changes its config format. I don’t play around with Grid much (at all) but I’ve been told that you need this if you are going to have Android devicii attached to the grid.
    • Geb: Groovy Browser Automation Tool – Part 2 starts out with a Page Object which is becoming the minimum standard for tutorial-esque posts
    • Proxy & Executor is the meetup talk I did at SFSe, SJSe and YYZSe over the span of 10 days this month. Slides, multiple video, notes, etc.
    • Hiss routes Growl messages through Mountain Lion’s Notification Center. I keep thinking I should use Growl for more things with my frameworks…
    • Cucumber & Cheese is not just about Ruby and Page Objects but how everything fits into the whole ATDD thing. Is likely Watir focused, but there are few people I would trust with this content more than Jeff.
    • Gargoyle is feature switching for Django.
    • Automate the install of JDK 5 on Lion and Mountain Lion seems like something that should be configured via Puppet or Chef or similar, but is geeky enough to include anyways.
    • Garzik: An Andre To Remember is not Se related, but is important for people to read and remember to have context. And to remember there is a whole world outside.
    • Python For Humans is awesome. I’d like the whole ‘… For Humans’ thing to catch on.

    July 30, 2012 by adam goucher

    A Smattering of Selenium #105

    This was supposed to go out Friday, but the flu bug I picked up decided to move the schedule about somewhat.

    • As Se marches towards being a W3C standard, the sort of thing in OAuth and API Providers: Come on guys. scares me more and more.
    • Why WP_Error Sucks. Intelligent error handling is hard. Especially when you have a legacy install base to deal with. A nice little rant.
    • Normally you see lists from people about books individuals want to see written, but Heroku has gone one step further and has released Contribute a Dev Center Article of articles they want to see written about how to use their stuff. Brilliant?
    • Issue 141 is getting some publicity this week featuring prominantly in a talk I’ve given 3 times in the last two weeks and now Jim answers once and for all the question of WebDriver: Y U NO HAVE HTTP Status Codes?!. Who am I kidding? There is no way this goes away. USE A PROXY!
    • find a valid and unused port to listen on is a nice little shell script that does exactly what it says. Was posted in the context of finding a port for grid nodes to listen to iirc
    • How To Download Files With Selenium And Why You Shouldn’t echos a lot of what I say around scripting downloads. Also notice the bit at the end about checking status codes if you have an unnatural phobia of proxies
    • BIDPOM drops support for Selenium RC I think is the first project I have seen come out and explicitly drop support for Se-RC. I expect to see more of this over the next year.
    • I haven’t gone through it yet, but it looks like I need to pick up some Objective-C skillz soon and About Objective-C looks pretty good from the quick skim I did.
    • I converted to OSX partly because it was FreeBSD way, way, way under the hood. Mac 10.7 $PATH Settings And Environment Variables really shows how divergent things have come. But is something you need to know when building slave machines
    • Speaking of Mountain Lion, Interesting new UNIX commands/binaries in OS X Mountain Lion. Something about calling a utility that keeps the machine from going to sleep ‘caffeinate’ cracks me up.

    July 24, 2012 by adam goucher

    A Smattering of Selenium #104

    I think everyone is on holidays right now…

    July 20, 2012 by adam goucher

    A Smattering of Selenium #103

    Seems I had this all ready to go yesterday… oh, and Happy Birthday Jim Evans — maintainer of IE and C# driver. If also a day late.

    July 17, 2012 by adam goucher

    A Smattering of Selenium #102

    Apparently my body isn’t quite on left coast time…

    July 13, 2012 by adam goucher

    A Smattering of Selenium #101

    Really? A drought for most of the week and now I’ve got a queue again in the span of 3 hours?

    July 9, 2012 by adam goucher

    A Smattering of Selenium #100


    July 6, 2012 by adam goucher

    A Smattering of Selenium #99

    With the queue flushed we’ll go back to our regular random posting schedule

    July 2, 2012 by adam goucher

    A Smattering of Selenium #98

    Happy day off Canuckistan! I’ll be in California in two weeks; here is my schedule — come by and chat

    June 29, 2012 by adam goucher

    A Smattering of Selenium #97

    Yes. I know. I missed a day. But 13 in a row was a good run!

    June 27, 2012 by adam goucher

    A Smattering of Selenium #96

    Blech. Supposed to go car shopping today. Any car brands want to sponsor my wife with a car so I can do something productive? Worth a shot…

    June 26, 2012 by adam goucher

    A Smattering of Selenium #95

    Ok twitterverse. After 2 weeks of very few links a day you explode.

    June 25, 2012 by adam goucher

    A Smattering of Selenium #94

    # sudo wget coffee > adam

    • Selenium-RC Commands is a mindmap of all the commands in Se-RC. (Unsurprising really.) I keep meaning to do this for WebDriver.
    • quacken is a script for grabbing OFX files from Quicken it seems
    • What’s that? You weren’t happy with one of the six PHP WebDriver clients that were out there already? Have another one — Nearsoft/PHP-SeleniumClient. It’d be spooky what would happen if we all got together on this.
    • Thucydides Release 0.8.26 grew Remote WebDriver support (and something to do with Spring but I don’t speak Java)
    • I don’t know if this is a chop or not, but

      is hilarious. Well, from a ‘been there, done that, crap I forgot to revert’ perspective.

    • Yes, packaging is a hard problem. No, I don’t know how to even begin to solve it. Python Packaging: Hate, hate, hate everywhere is kinda a history lesson on what the current state of the world is in Python.
    • Oh, and because this is what happens on the internets, there is a bigger discussion of the previous article over on Hacker News
    • inproctester is a standalone J2EE app server for running HTMLUnit WebDriver scripts
    • Its a bit amusing [though not to a lot of people] how much love parts of WebDriver get from the world at large and how much hatred other parts get. What’s Wrong With the Internet Explorer Driver? enumerates some of the causes, why they got that way, and throws down the gauntlet to Microsoft. Who will promptly do, erm, nothing…
    • Accept-Charset Is No More seems like one of those browser differences that we should know about.

    June 22, 2012 by adam goucher

    A Smattering of Selenium #93

    Did I say 8 days in a row yesterday? I meant 9. Good thing programming doesn’t require counting…

    June 21, 2012 by adam goucher

    A Smattering of Selenium #92

    What’s that? Eight days in a row? That’s right…

    June 20, 2012 by adam goucher

    A Smattering of Selenium #91

    As you’ll start to see by the timestamps of things towards the end, I’m running out of ‘new’ stuff and am pulling from the queue now.

    June 19, 2012 by adam goucher

    A Smattering of Selenium #90

    Eventually I’ll get back on the once-a-week schedule. But not today!

    June 18, 2012 by adam goucher

    A Smattering of Selenium #89

    Figured I would get this out before the computer goes in for surgery.

  • Automate Page Load Performance Testing with Firebug and Selenium is not a new topic, but a timely one for me
  • Speed up your features with a backdoor login route is not a recent post, but something I’ve had to explain to people at least once a week for the past month, so…
  • RSpec’s New Expectation Syntax explains not only the ‘what’ of the new syntax but the ‘why’
  • Slides & Videos from LDNSE #6 does not falsely advertise itself
  • Python Timer Class – Context Manager for Timing Code Blocks reminds me that I need to use Context Managers more often
  • Overloading Python list comprehension is an interesting little experiment. Well, depending on your definition of interesting I suppose
  • I posted the about how Python creates classes last week, and going through the queue of things I have to post came across Python object creation sequence from the same blog
  • Visual Studio 11 Fakes Part 1 – Stubs discussed the Fakes framework which appears to ship in VS11. Stubs. Are. Awesome. Oh, and it took too much work to find it, but Visual Studio Fakes Part 2 – Shims is the follow-up. Actually, if you are VS all day there are a bunch of neat things on that blog.
  • I don’t own a copy, but The Grumpy Programmer’s Guide To Building Testable PHP Applications but the section breakdown seems like it would be correct.
  • Test on Real Mobile Devices Without Breaking the Bank has some food for thought. And its own quirky definition of ‘bank’. Especially given that the half-life of a mobile OS is something like 7 months it seems.
  • June 15, 2012 by adam goucher

    A Smattering of Selenium #88

    Five days and fifty links later…

    June 14, 2012 by adam goucher

    A Smattering of Selenium #87

    Avoiding punching things about software packaging by doing the 4th!!!! smattering in row.

    June 13, 2012 by adam goucher

    A Smattering of Selenium #86

    Look at that! 3 days in a row, and the boy isn’t even gone to school yet and I’ve hit ‘publish’

    June 12, 2012 by adam goucher

    A Smattering of Selenium #85

    Two days in a row! Take that doubters!

    June 11, 2012 by adam goucher

    A Smattering of Selenium #84

    What? Its only been 3 months since the last one. Sheesh.

    May 29, 2012 by shs96c

    Announcing Selenium 2.22

    It’s been a while since the last Selenium release, but I’m happy to announce that Selenium 2.22 is now available for download. This is a big release for us and features two major changes.

    The first is that Selenium 2.22 is the first version that requires Java 6 in order to run. This has been the case for the Selenium Server for some time, but this is the first time the client code has required Java 6. Since Java 5 was “end of lifed” in 2009, we don’t expect this to impact many users.

    The second major change is that we are now providing a standalone IE server for use with the WebDriver API, similar to the one used by the chrome driver. You can get it from the normal download page. This will allow us to update our IE support independently of the rest of the library (again, mirroring how Chrome is supported) For now, there’s a legacy fallback mode you can use that’ll use the same DLL we’ve always used which can be activated by setting the DesiredCapability “useLegacyInternalServer” to boolean “true” when requesting your IE Driver instance.

    Of course, as well as these major changes, there’s the usual host of updates and improvements. We’re continuing to refine the new SafariDriver, and we’re happy to announce native events for Firefox 12. You can check out the other updates in the CHANGELOG.

    March 27, 2012 by shs96c

    Selenium Conf: Community

    In this series of blog posts we’ve introduced one of the keynotes and talked about some of the great presentations you’ll see at Selenium Conf ’12, but so far we’ve missed the most important aspect of the entire event: you.

    For me, one of the highlights of any conference is the chance to meet other members of the community, make new friends and talk about all things interesting (and perhaps even tangentially related to the conference!) To help this process along, we’ve avoided scheduling everything down to the last minute. Instead, we’ve left plenty of time in the B track for an unconference. You’ll get to pick the talks and have a chance to have your voice heard. Last year, there were some great talks on the equivalent track, and I think we’ll see the same this year too!

    If the idea of standing up and talking for 30 minutes in front of an audience seems a little daunting, you can dip your toes in the water by volunteering for a lightning talk: 5 minutes of concentrated goodness! Come prepared with a topic and perhaps a handful of slides 🙂

    It’s not all formal talks, either. As well as the many members of the selenium community who’ll be attending the conference, there will be many of the core development team. There’ll be a chance to ask Simon why we’re not using git yet, get feedback on some of the ways you’re using Selenium, or just chew the fat. There will be a drinks on the 17th at a London pub, too.

    I’m really looking forward to meeting all of you, and hearing the tall testing stories, and finding out how you’re pushing the boundaries. of web automation. If you’ve still not bought a ticket, there’s still time to. Come along and join us! If you’ve already bought your ticket, what kind of things are you looking forward to?

    March 26, 2012 by shs96c

    Selenium Conf: Speakers

    I may be biased, but I think Selenium Conf ’12 is going to be great. There are talks aimed at every level of Selenium user. We’ve got experience reports, so you can learn from the trials and tribulations of others. There are talks about using Selenium in unusual ways, such as performance testing, or automated security testing, so you can see new ideas and approaches.

    There are technical talks, such as the one Jim Evans is giving on lessons learned from developing the IE driver, so you can learn a little bit more about how Selenium works and Luke Daley’s talk about Geb is bound to be fun.

    If you’re a fan of Selenium IDE, then the talk on the SauceBuilder will be a “must see”. We’ll also have the current owners of Selenium IDE attending the conference, so you’ll get a chance to pick their brains on the future of the tool.

    If you’re someone who enjoys living in the future, then the mobile focused talks, such as Andreas Tolf Tolfson’s talking about OperaDriver on mobile devices, or Dante Briones talking about testing mobile apps on iOS will be interesting. And Jason Huggins will be talking about robots. What’s not to love?

    Better still, we’ve left space in the schedule in Track B for an unconference. If you put forward a talk this year that wasn’t accepted, or if you’ve got something you feel the Selenium community should hear, now’s your chance! If you’ve only got a little to say, or just want to make a single point, then you’re really going to enjoy the lightning talks!

    All of this is available for the cost of the ticket, which you can still buy. Don’t wait! Come to #SeConf!

    March 25, 2012 by shs96c

    Selenium Conf Keynotes: Liz Keogh

    The tickets for Selenium Conf ’12 are still on sale for about another week, so there’s still time for you to buy your tickets. In case you’ve not already gone to the conference site to see the great line up, this week we’ll be letting you know what to expect!

    I’m really pleased to announce that Liz Keogh, who is a core member of the Behaviour Driven Development (BDD) community and is one of the stalwarts of the London Agile community, as well as a haiku poet, is going to be one of our keynotes! If you’ve ever seen Liz speak then you’ll know just how much a treat we’re in for. She’s got great things to say and always says them in a thoroughly engaging way.

    Liz’s keynote is titled “How to Test the Inside of Your Head”. When we test code and find it doesn’t do what we thought it did, we change it. But, she asks, wouldn’t it be great if we didn’t have to write the wrong code in the first place? In the talk, Liz will show how we can use examples and scenarios to break the models we make inside our own heads, helping us to avoid premature commitments and their follow-through – whether in code or in life.

    I’m really looking forward to it! I’m sure you are too.

    March 14, 2012 by adam goucher

    A Smattering of Selenium #83

    Well, might not be in Florida, but how about them juggernaut Blue Jays?

    March 13, 2012 by adam goucher

    A Smattering of Selenium #82

    Someone explain to me why I’m in Toronto and not Florida?

    March 12, 2012 by adam goucher

    A Smattering of Selenium #81

    Its March Break (at least here) which means its also Catch Up Week. An extra long Smattering every day!

    February 24, 2012 by shs96c

    Selenium Conference 2012

    Good news, everybody! Selenium Conf ’12 is getting closer! We recently selected the speakers for the conference, and it’s going to be a great mix of talks, spanning the full range of subjects from the very practical to the deeply technical. I’m promised that there will be robots.

    Selenium Conf isn’t just about the planned talks, it’s also about the community. On the final day, there will be an unconference, so if there’s something you feel passionately about and feel the world should know, now’s your chance. You’ll not only have a chance to talk to and meet other selenium users, but also many of the core team members.

    The conference runs from the 16-18 April in London. Tickets are still available! We’re looking forward to seeing you there.

    February 24, 2012 by shs96c

    Support for Ancient Browsers

    The first code checked into the Selenium project’s public repository was in November, 2004. We’re now in 2012. In the intervening years there have been many browsers released. The last browser we officially stopped supporting was Firefox 2.0, and it’s time to review the list of browsers again.

    We periodically review the list of supported browsers as the more changes there are between the oldest version of a browser that we support and the most recent, the harder it is for us to add new features and maintain those that already exist. Balanced against the cost of maintaining the selenium code base itself are your tests; we know that your users might not be updating their browsers to the latest and greatest, and we know that you’ve still got to prove your app works on all the browsers that are important to you. That’s why what’s below is just our plan, and we’re talking about it now to let you have your say.

    Looking at the market share of the browsers out there helps us make an informed choice about what it makes sense to support. This will most likely mean:

    Firefox: the Firefox market appears to be split between those on 3.6 and those on the new rapid release schedule. Given this, we are thinking of officially supporting Firefox 3.6, and the last, latest and next release of Firefox (currently Firefox 9-11) as well as any ESR releases. The market share for Firefox versions 3.0 and 3.5 is tiny, and the effort to keep them working with selenium is disproportionately high.

    Internet Explorer: Despite Microsoft’s efforts, IE 6 is still a popular browser, particularly in the workplace. We will continue to support IE versions 6 and up.

    Safari: Safari 3 is now ancient and has been superseded by newer releases. We plan on only supporting Safari 4 and 5.

    iOS: We’ll continue to target the most recent iOS release.

    Android: Due to some technical limitations in previous Android releases, we are targeting Ice Cream Sandwich and onwards. We will continue to make available the testing framework for Froyo, but will not be making any changes to it.

    These are only our plans. If you really need those browsers, and (better!) can help us maintain support for them, then please let us know.

    You’ll notice that Opera and Chrome are not listed above. Since Opera and Google now maintain the drivers for those browsers, they are best placed to decide which are the supported versions, but in summary, Google support the major Chrome release channels (stable, beta, dev and canary) and Opera suggest using Opera 11.6+.

    February 8, 2012 by shs96c

    A Note About the Cybervillains SSL Certificate

    If you’re using Selenium RC to test websites hosted on a secure site (accessed using a URL starting with HTTPS), we strongly recommend that you upgrade to Selenium 2.19. This is because the Cybervillains certificate in previous versions will expire soon, and has been replaced in 2.19 with an updated one.

    Our thanks to Patrick Lightbody, Ivan De Marino and Mark Watson and Neustar for taking providing the new certificate and the patch!

    February 8, 2012 by adam goucher

    A Smattering of Selenium #80

    I should have learned not to boast about getting caught up with links.

    And my post that I’m going to link against is a bit of a rant around how to choose selenium training. Though it has also been pointed out that a lot it applies outside the scope of Selenium as well.

    February 8, 2012 by shs96c

    Announcing Selenium 2.19: the Prancing Unicorn release

    You might be pleased to hear that Selenium 2.19 has been released (download it from here!). There’s one big user facing changing that we’d like to tell you about: the webdriver-backed selenium can now be used in supported languages.

    By providing this capability, it’s possible to migrate from RC to the WebDriver APIs without rewriting all your tests in one fell swoop (which must be a Good Thing, right?) An example of how to use it in Python would be:

    driver = RemoteWebDriver(desired_capabilities = DesiredCapabilities.FIREFOX)
    selenium = DefaultSelenium('localhost', 4444', '*webdriver', '')
    selenium.start(driver = driver)

    Provided you keep a reference to the original webdriver and selenium objects you created you can use the two APIs interchangeably.  You’ll see that the magic is the “*webdriver” browser name passed to the selenium instance, and that we pass the webdriver instance when calling start().

    We hope you like it!

    PS: I have no idea why this is the Prancing Unicorn release, but it’s been a while since we named one 🙂

    February 1, 2012 by adam goucher

    A Smattering of Selenium #78

    Look! A light at the end of the tunnel!

    And today’s post of mine is WebDriver and Cookies which explains how, well, cookies and webdriver play together.

    February 1, 2012 by adam goucher

    A Smattering of Selenium #79

    The only links left now are ones currently open in tabs right now. Hurray!

    And my post this edition is WebDriver and Meta Tags.

    January 31, 2012 by adam goucher

    A Smattering of Selenium #77

    No. Really. A Smattering every day this week and I’ll have the link queue cleared.


    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).

    January 25, 2012 by adam goucher

    A Smattering of Selenium #76

    Post ten links, find seven more to add to the queue.

    January 23, 2012 by adam goucher

    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.

    January 18, 2012 by adam goucher

    A Smattering of Selenium #74

    It is kinda hard to do these without reliable internet… dear hotels, fix. your. internet.

    January 5, 2012 by adam goucher

    A Smattering of Selenium #73

    January 5, 2012 by shs96c

    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!

    January 3, 2012 by adam goucher

    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.

    Selenium Level Sponsors

    Support the Selenium Project

    Want to support the Selenium project? Learn more or view the full list of sponsors.

    All rights reserved, Software Freedom Conservancy