Selenium Blog

+ - Filter

Search blog

Support the Selenium project

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

Monday, July 26, 2010 by adam goucher

A Smattering of Selenium #21

I thought it had been a slow week — until I looked at how many browser windows I had open. I wonder if that was why things were feeling a bit sluggish…

  • Some bits of history from Simon Stewart
  • More history lessons on Cloud Computing Show #35 where Jason recounts the origin of Se (and other stuff)
  • I still maintain that Continuous Deployment to production is near unethical, but a lot of the tricks that companies are using to support it are pretty cool. Continuous Deployment, Code Review and Pre-Tested Commits on Digg4 details some that Digg uses. Only cursory mention of Se, but once you have Se running inside a CI server of some sort, these thoughts become interesting-er.
  • The Kitchen Sink – why not all tests need automating has things like Just because we can automate a test doesn’t mean that we always should. As a consultant, I need to get this point across to clients all the time. Every. Single. Day.
  • At the risk of being too meta, there is now Selendion which looks like it drives Concordian with Se
  • Frank is billing itself as ‘Selenium for iOS’. Except that I believe Se2 already has support for that.
  • Moving on to the second example is part of a series of posts about exploration of Se2 using Ruby. This particular post is the ruby-fication of the second example of the WebDriver tutorial.
  • Debugging XPath and CSS locators with Selenium IDE originated with a question on the RobotFramework-Users mailing list and ended up being a screencast. We should do more of those.
  • Boomerang seems like a project that someone should write a tutorial on integrating with Se
  • Review: TDD Screencasts is a review of Kent Beck’s new TDD Screencast series (I really should buy this). While yes, we typically don’t do TDD using Se for speed reasons, this paragraph resonated and since I do the list, I’m including it.

    A great message I got from the screencasts is that your tests should tell a story. You compose that narrative in steps, so as to not trip yourself up. Many times you are probably required to develop against a backend service or directly with a database. So that’s how the story starts. Hello Mr. Database, are you there? May I put something in you?
  • If you are a PHP developer and using NetBeans, then Testing with PHPUnit and Selenium might be of interest.
  • Integrating Selenium Tests into CruiseControl.Net via NUnit is what it claims
  • Avoiding Brittle Element Selection with Selenium2 tackles a constant topic using Se2 — but it can be applied to Se1 as well
  • Wednesday, July 21, 2010 by adam goucher

    The Current Status of Selenium 1 and Selenium 2

    In the beginning there was Se1, and it was good. But it could have been better — in ways that WebDriver was starting to be good at. Thus the brilliant idea was hatched to merge the two projects.

    And then the confusion began. Let’s see if I can start to address some of it via a ficticious conversation that consolidates the Se-user list and #selenium irc channel.

    There are a couple annoying bugs in Se-RC 1.03; when is the 1.0.4 release?
    Se-RC 1.0.4 is planned for sometime towards the end of July 2010
    I’ve heard rumours that 1.0.4 the to be the final release?
    Yes. 1.0.4 is planned on being the final 1.x release
    That’s crazy talk! I can’t use a .0 or ‘alpha’ release for my mission critical application
    Actually, its not all that crazy — and needs a bit more explanation. Se2 is truly a merger of the two projects, in fact 2.0a1 was literally the Se code from the OpenQA repository and the WebDriver code its Google Code repository merged into a new one. This meant that from the first release of the 2.x series, it has contained 100% of the 1.x code which means 100% backwards compatibility. Later releases in the 2.x series have been driven primarily by evolutions of the code that came from WebDriver, not from Se 1.x.
    OK, so 100% of Se 1.x is in 2.x; I get that. But how are you making sure that fixes to one get into the other?
    Here is another ‘secret’ — don’t tell anyone, but there hasn’t been any pure 1.x development since the merging of the codebases. Every 1.x release since the merger has really been a 2.x release — but all packaged up to make it look like a 1.x release. This is why observant people have noticed a log message that looks something like 11:09:37.507 INFO – v2.0 [a4], with Core v2.0 [a4] when they start up their 1.x server.
    So you’ve been releasing alpha code disguised as a stable release? Jerks!
    Woah! Relax! Recall what I said above about it being backwards compatible by default. The ‘alpha’ tag is there because the API for the new code is still being developed and features flushed out. The 1.x code is however, still stable and still production quality.
    Alright, I take back calling you folks jerks, but I really don’t like the alpha tag. When will it be out of ‘alpha’?
    There is only one or two more features to implement (like handling alerts) in the WebDriver code and some cleanup before the betas start. But hope for a 2.0.0 final by the end of the year. And while we’re on the topic of ‘alpha’ vs. ‘beta’, this the team’s working definitions of each.

    • Alpha – APIs can, and likely will change. Possibly in dramatic ways.
    • Beta – With the APIs set, make sure they work with the major browsers
    ‘Major Browsers’ eh, what exactly does that mean?
    Right now it means Firefox, Internet Explorer and at least one WebKit based one (Safari or Chrome)

    In short… it is a requirement of Se2 that the server be backwards compatible with Se-RC 1.x and that has already been accomplished by building the code from a common source repository. This means that if you are using Se-RC, you can switch out the server for a 2.x one and have no impact on the execution of the scripts. Plus you can start to experiment with the new stuff that came over from WebDriver.

    Monday, July 19, 2010 by adam goucher

    A Smattering of Selenium #20

    12 hours late, but I was driving draft horses all day so that’s my excuse and I’m sticking with it. Enjoy. I’m going for a nap.

    Search blog

    Support the Selenium project

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

    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