A Smattering of Selenium #54
Two Smatterings in two days?!!? That never happens. Well, except when I get behind and have a metric tonne of links queued up.
- Next week appears to be Meetup week with ones in London on Tuesday, Toronto on Wednesday and San Francisco on Thursday. It’s like we coordinated or something. (But didn’t.)
- Last month’s SFSE meetup was on framework design. Here is the slides and the video.
- Selenium Smells goes on a bit of a rant (and provides solutions) to people putting sleeps in their code instead of proper synchronization. For the record, this is the first thing I do when I’m auditing people’s Se code.
- Se isn’t really designed for the ‘look and feel’ aspect of automation, but Selenium test for computedStyle a way to do it.
- Using Watir and want to use the new Opera driver? Its easy-peasy according to Using Opera with Watir-Webdriver (for free)
- What’s a Smattering without some crazy geek thing that helps you learn your tools better? slots. There you go.
- More build pipelining — this time with Jenkins. Our Jenkins Build Pipeline setup
- Nobody Understands REST or HTTP could be added to me required reading list.
- Read the last paragraph of of 404s, automation and other things. Now read it again.
- Mozilla practices what it preaches in terms of the Open Web as discussed in These are your tests: Testing in the Mozilla Ecosystem
- Insulating against failure using Caching Reverse Proxies just seems like a good idea.
- Web devs optimistic over IE10 conditionals drop seems to be something we-who-deal-with-browsers-and-their-quirks-for-a-living need to be aware of
- In a weird bit of timing A Selenium and Python appetizer came out mere hours after Getting Started With Selenium WebDriver on Ubuntu/Debian. For some reason, this quote comes to mind. ๐
A Smattering of Selenium #53
Well, since the last Smattering there hasn’t been much in the community. Oh. Well, except for hitting the 2.0.0 milestone. Which seems like a good time to remind people that:
- Selenium is the project name
- Selenium 1 is a project version
- Selenium 2 is a project version
- Selenium Remote Control (RC) is an API name
- Selenium WebDriver is an API name
- A person upgrades from Selenium 1 to Selenium 2
- A person migrates from RC to WebDriver
And with that soap boxing, here are some links for your consumption.
- Run Cucumber with Selenium RC and a custom Firefox profile actually is using WebDriver not RC, but shows a valuable trick regardless.
- I’ve linked to these slides before, but this is a very important talk by Kent Beck on the sort of business changes that need to happen in order to enable Continuous Delivery.
- Pipelining the build for fun and profit is a bit of a product showcase, but splitting the build like this is cool.
- Testing Asp.Net pages has a technique for overcoming one of the difficulties of testing ASP pages
- Taking Browser Screenshots With No Display (Selenium/Xvfb) is a follow-up to his previous post. And is starting to get into weird voodoo; let’s take an image of something that is virtual
- Selenium WebDriver + Linux (Headless) + Ruby + Jenkins == Awesome is the Ruby version of the above
- WebDriver as a standard? Sure. Why not? [DRAFT] Charter: Browser Testing and Tools Working Group
- Everything You Never Wanted To Know About DLLs is not automation related, but more about understanding how your tools are built. And waaaaay off the geek deep end.
- The Sad State of Symbol Aliases from the same blog is just about the only thing that could top it
- pdf.js reached its first milestone – I don’t know why exactly, but this strikes me as having huge potential for automation.
- Selenium with SpecFlow has a few notes on using Selenium in SpecFlow scenarios and step definitions
- mouseOver events in Selenium and jQuery hover provides a warning around JQuery’s hover binding.
- Announcing TestNG 6.1 with a bunch of goodies. Well, if you like Java… ๐
- Missed EuroPython 2011? Here are links to torrents of the talks
Selenium 2.0: Out Now!
We are very, very pleased to announce the release of Selenium 2.0. If you’ve been waiting for a stable release since 1.0.3, now’s the chance to update. And if you do, what will you find?
For users of Selenium 1, this is a drop-in replacement. You’ll find support for modern browsers such as Firefox 5 and IE 9, as well as a wealth of bug fixes and stability improvements. ย That’s one reason to update, but what other reasons are there?
The big feature of this release — and the reason for the new version number — are the new WebDriver APIs for Python, Ruby, Java and C#. These have been in development for over four years, and are already widely used, trusted and depended on. The WebDriver APIs have been written by developers familiar with each language, so they feel like they belong there. We’re very proud of them, and hope you enjoy using them.
Support for WebDriver is also baked into Opera and Chrome, and we’re working closely with Mozilla to ensure that their browsers also support it. Looking to the future, WebDriver also works on both Android and iPhone, allowing you to test your sites on the next wave of the Web.
As well as support by the browser vendors, WebDriver also provides excellent emulation of user inputs using something we call “native events”. Normal browser automation frameworks, including older versions of Selenium, simulate user interactions via the Javascript engine of the browser. This approach is error prone as each browser has its own quirks. “Native events” are fired at the OS level instead, avoiding a large amount of browser-specific complexity.
Advanced Selenium users will be pleased to hear that the standalone selenium server also includes support for distributed testing via Selenium Grid. This new Grid implementation supports testing using both the original Selenium API and WebDriver, and has been developed as a collaboration between the current Grid maintainer and an engineer from eBay.
We’re working hard to ensure that Selenium IDE also supports all these new features and APIs. IDE version 1.1.0 should be released next week, with support for exporting to the four main languages supported by WebDriver. Please keep an eye on this blog for announcements! There will also be follow up posts, exploring and explaining each of the new features, and providing you with more information.
Of course, Selenium 2.0 is a major milestone, but we’re not done yet. This release marks the point where we expect our APIs to change very little from now on and where we believe it’s a solid release. Like all software, it has niggles and bugs, and we’ll be focusing on addressing these as your feedback comes in.
As a personal note, I’d like to say thank you to each of the many people that have worked so hard to make this the best Selenium version yet. Not only the developers but also the team working on making our documentation clear and easy to read, everyone who’s taken the time to report bugs, and also to you; our users and community. The project is great fun to work on, and you’re the reason for that. Thank you!