views:

3915

answers:

9

Selenium seems to be the mainstream tool for browser side testing and it isn't that horrible. But are there any alternatives hiding out there, even in beta phase?

+2  A: 

Canoo Webtest is an option, although it has a steep learning curve. There's a lot more coding and a lot less clicking to generate tests than there is with Selenium.

Rob Hruska
It can really struggle with Javascript though; something a browser works best doing.
j pimmel
A: 

Watir

Jeffrey Fredrick
+5  A: 

Watir is cool, it feels like a DSL, and you write the test cases in ruby.

Here's a Google Search example to see how it looks like

Pablo Fernandez
What is a "DSL"?
mhenry1384
See http://en.wikipedia.org/wiki/Domain-specific_language
Brian Laframboise
+8  A: 

Have you looked at WebDriver in Google code. It is probably the fastest alternative, beyond Selenium and Watin / Watir as it drives the browser directly in memory without the need to launch it.

Xian
Good, I didn't know about this before. Based on FAQ it look WebDriver and Selenium will merge at some point.
Petteri Hietavirta
+1  A: 

Watin was mentioned but no link. So here it is.

Jeff Martin
+7  A: 

You might want to look at Windmill, which is very cross browser capable. We have also used FIT and FITnesse is also quite extensively used

j pimmel
Looks interesting, this was totally new for me.
Petteri Hietavirta
+3  A: 

Sahi (http://sahi.co.in/) should be a good alternative too. It can run using javascript and java drivers. You could look at a demo video here: http://blog.sahi.co.in/

Narayan Raman
It is interesting, though its hard to keep the JS tests being brittle since they are directly parsing remote page layout, and when the layout changes the test is easily broken.. Am not saying that other approaches dont suffer the same problem, just that this is slightly more prone to being brittle.What SAHI excels at which Selenium can't do is cross domain integration testing.
j pimmel
Sahi scripts can be very stable if you use the _near and _in constructs. For example, the "add comment" link underneath is identified by Sahi's Controller as_link("add comment[4]")with alternatives_link("comments-link-2339634")_link("comments-link[4]")_link(65)etc.But really none of them is stable. Looking at the user interface, we are looking for the "add comment" link near "It is interesting", so we can use_link("add comment", _near(_div(/It is interesting/)));in Java/Rubybrowser.link("add comment").near(browser.div("/It is interesting/"))That makes tests very stable.
Narayan Raman
+3  A: 

Sahi is a GREAT Selenium alternative. It works as a proxy to an existing browser and it injects JavaScript on top of your rendered page to capture events and verify presentation.

It uses JavaScript Rhino engine features of Java 5 and can be used in data driven test scenarios; supports auditing, test suites, ANT integration and does not require recorder plugin, as it works with your existing browser.

http://sahi.co.in/w/sahi

See a man about a horse
+1  A: 

Sahi is good but it AFAIK works only with record & playback

Onnesh
Hi Onnesh, Sahi scripts are like Javascript. Apart from the regular control structures (loops, conditions, functions, variables, includes), you can read/write files/databases, and even invoke Java directly from script.
Narayan Raman