Question: Which Fitnesse framework should I use with Selenium?

We have a Fitnesse server set up and use Selenium 2 (webdriver). Can you please suggest which framework we should use? Xebium, Selenesse, Fitnium, webtest? or Please suggest any other tool you would recommend.

Thanks for the list of Fitnesse addons.

But, I don’t use them.

The addons provide the ability to encode Web Actions in FitNesse tables. But I don’t do that.

I don’t think that Actions in the FitNesse table lead to maintainable FitNesse documents.

When I work with FitNesse I want to write FitNesse tables at a domain abstraction, not at a physical implementation abstraction. i.e. I want to use it as framework to create a Domain Specific Language, and not use it as a Web Automation Scripting language.

For example:

I do not want to encode tables that look like

| start browser | firefox |
| open url | |
| click on | //a[@id='buy course']|
| verifyTitle | Woo hoo |

I’d rather write tables that look more like:

| A visitor can | buy course | Selenium WebDriver|
| and then | buy book | Java For Testers|

The tables should work at the domain of the test and the reader, not the domain of the application implementation.

By doing the above they become maintainable because the code exists in the IDE and at the language level, rather than in tables in FitNesse.

If the implementation changes, the test still remains valid because it documents the capabilities and requirements and not the implementation.

I view FitNesse, and Cucumber, as a way of creating Domain Specific Languages to write executable specifications, which we can potentially also use for BDD.

I describe this in my BDD tutorial, but I’m not sure how well it comes across in the slides

Hope that helps. Thanks for the Question.

This entry was posted in FAQ. Bookmark the permalink.

2 Responses to Question: Which Fitnesse framework should I use with Selenium?

  1. Hi Alan,

    one can consider an even abstracter use of FitNesse. My fear of using it as a DSL is that the keyword library soon become huge. If you think of a manager/concepter/requirements-engineer/manual tester having to handle it, they might be overchared and lose interest soon. But everybody working in IT should be able to cope with a wiki-language: change plain text, insert illuminating screenshots or change input/output data in a table (in sense of data driven testing) – the rest of the work should be done by test-automation engineer. Maybe you like to go deeper:

    Yours Michael

    • Alan says:

      Hi Michael,

      Thanks for the comment and the examples.

      I think my view of a DSL encompasses your examples, even if that wasn’t clear from this post.

      I do not restrict a DSL to keyword driven approaches, as you can see from the examples in the BDD slides I link to.

      Thanks for helping me clarify,


Leave a Reply

Your email address will not be published. Required fields are marked *