This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Blog Posts - 2012

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.

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

A Smattering of Selenium #131

Not sure how widely broadcast this has been…

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.

A Smattering of Selenium #130

Can’t get enough Se bloggage?

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

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.

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.

A Smattering of Selenium #128

…as I avoid writing code that deals with dynamically constructed tables.

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

A Smattering of Selenium #127

Within an hour I had some more things to add to the last Smattering.

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

A Smattering of Selenium #126

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

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

A Smattering of Selenium #125

Right…

Right…

  • 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*

A Smattering of Selenium #124

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

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

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…

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

A Smattering of Selenium #123

If you are not using something like Chef or Puppet to keep your grid nodes behaving then you are absolutely doing it wrong.

A Smattering of Selenium #122

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

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

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

A Smattering of Selenium #121

Its the ‘all github’ edition today!

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

A Smattering of Selenium #120

Here we grow again.

A Smattering of Selenium #119

Its that time again, 4th Annual Automation Honors Voting is now open.

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

A Smattering of Selenium #118

<Insert witty/snarky commentary on something here>

<Insert witty/snarky commentary on something here>

A Smattering of Selenium #117

Evolutionary Project Structure talks about a particular project structure…

A Smattering of Selenium #116

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

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

A Smattering of Selenium #115

The big news in the twitter-verse yesterday was the announcement of Apple Sauce and Android Sauce from Sauce Labs.

A Smattering of Selenium #114

Hurray for having fillings done on both sides of my face.

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

A Smattering of Selenium #113

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

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

A Smattering of Selenium #112

Eyes are gross.

Eyes are gross.

A Smattering of Selenium #111

When this gets published, I’ll be sitting around the Barcelona airport waiting for my connection home.

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

A Smattering of Selenium #110

Dear body; what time zone are you in?

Dear body; what time zone are you in?

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

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.

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.

A Smattering of Selenium #108

Apparently the links are slowing down for the summer?

Apparently the links are slowing down for the summer?

A Smattering of Selenium #107

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

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

A Smattering of Selenium #106

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

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.

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.

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.

A Smattering of Selenium #104

I think everyone is on holidays right now…

I think everyone is on holidays right now…

A Smattering of Selenium #103

Seems I had this all ready to go yesterday…

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.

A Smattering of Selenium #102

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

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

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?

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

A Smattering of Selenium #100

Century!

Century!

A Smattering of Selenium #99

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

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

A Smattering of Selenium #98

Happy day off Canuckistan!

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

A Smattering of Selenium #97

Yes. I know. I missed a day.

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

A Smattering of Selenium #96

Blech. Supposed to go car shopping today.

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…

A Smattering of Selenium #95

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

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

A Smattering of Selenium #94

# sudo wget coffee > adam

# 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

    Why did the @Lenovo dev call me an asshole? Code review much? twitter.com/RussSolberg/st…

    — Russell S (@RussSolberg) June 22, 2012

    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.

A Smattering of Selenium #93

Did I say 8 days in a row yesterday? I meant 9.

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

A Smattering of Selenium #92

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

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

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.

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.

A Smattering of Selenium #90

Eventually I’ll get back on the once-a-week schedule.

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

A Smattering of Selenium #89

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

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

A Smattering of Selenium #88

Five days and fifty links later…

Five days and fifty links later…

A Smattering of Selenium #87

Avoiding punching things about software packaging by doing the 4th!!!!

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

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’

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

A Smattering of Selenium #85

Two days in a row! Take that doubters!

Two days in a row! Take that doubters!

A Smattering of Selenium #84

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

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

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.

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.

Selenium Conf: Community

In this series of blog posts we’ve introduced…

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?

Selenium Conf: Speakers

I may be biased, but I think Selenium Conf ’12 is going to be great.

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!

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.

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.

A Smattering of Selenium #83

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

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

A Smattering of Selenium #82

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

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

A Smattering of Selenium #81

Its March Break (at least here) which means its also Catch Up Week.

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

Selenium Conference 2012

Good news, everybody! Selenium Conf ’12 is getting closer!

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.

Support for Ancient Browsers

The first code checked into the Selenium project’s public repository was in November, 2004.

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

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 […]

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!

A Smattering of Selenium #80

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

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.

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

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', 'http://www.google.com')
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 🙂

A Smattering of Selenium #79

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

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

And my post this edition is WebDriver and Meta Tags.

A Smattering of Selenium #78

Look! A light at the end of the tunnel!

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.

A Smattering of Selenium #77

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

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

Go!

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

A Smattering of Selenium #76

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

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

A Smattering of Selenium #75

And home. Which mean 100% more internets!

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.

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

A Smattering of Selenium #73

Two Ruby gems…

Selenium 2.16 Released: Welcome to 2012!

It’s been a while since we last blogged about a Selenium release.

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 Sauce Labs 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!).

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.