views:

2127

answers:

14

What are the good automated web UI testing tools?

I want to be able to use it in the .Net world - but it doesn't have to written in .net.

Features such as a record mode, integration into build process\ continuous integration would be nice.

Im going to look at:

Are there any others I should look at?

A: 

Try httpunit

RED SOFT ADAIR
+6  A: 

I definitively recommend Selenium, you can use it from .NET, supports different browsers, works in automatic builds and CI processes (we use it from CCNet). The code is stable. It has a few quirks, but after all they all do.

Whichever tool you choose, I recommend making your own test facade class(es) around it. The facade should be designed to suite your concrete testing needs, without exposing too much the details of the testing tool's API. This will make the test code easier to write and maintain.

UPDATE: if you use ASP.NET view state in your app, you could have problems using a pure HTTP test tool. This is where browser-controllers (like Selenium) are much better.

Igor Brejc
A: 

I forget one nice tools and can find link on it but find this ... http://weblogs.asp.net/bsimser/archive/2008/02/21/automated-ui-testing-with-project-white.aspx maybe can help.

Maksim Kondratyuk
A: 

Depend on what you would like to achieve.

You can use web test built in the Visual Studio Tester Edition. It's quite good and easy to automate. You can use external data as a test data source and it integrates nicely with VS.

There is also test tool by Automated QA (forgot the name) which looks good but expensive.

And there is Selenium. That's the one we are using in Symantec. The biggest advantage is that it actually uses a browser you want to test. VS mimic a browser by changing http request parameters only so you may not be able to test your site for cross-browser compatibility. Selenium on the other hand uses browser and automates it so you can actually test your site in IE, Firefox etc. It can be also integrated with VS unit tests so you can see test results in VS.

So I would recommend Selenium or VS.

+1  A: 

WatiN

Automates FF and IE

[Test] 
public void SearchForWatiNOnGoogle()
{
 using (IE ie = new IE("http://www.google.com"))
 {
  ie.TextField(Find.ByName("q")).TypeText("WatiN");
  ie.Button(Find.ByName("btnG")).Click();

  Assert.IsTrue(ie.ContainsText("WatiN"));
 }
}

http://watin.sourceforge.net/

Chad Grant
+1  A: 

Hi,

you might also be interested in taking a look at what the ASP.NET team cooked up itself: Lightweight Test Automation Framework.

There's also a dedicated forum for it.

Grz, Kris.

XIII
+1  A: 

I've used Selenium. The features were good, and it was usable but it was buggy.

The IDE would often record events incorrectly (so tests would need to be manually changed), and test files occasionally became completely unusable for no apparent reason, which meant they would have to be recreated all over again. Also development on Selenium IDE seems to have stopped; there hasn't been any bug fixes and patches for a while, and bug reports seem to go unnoticed.

Molybdenum is an alternative, built on Selenium that's worth looking into.

http://www.molyb.org/

Sophia
+1  A: 

Just to throw out another option (of which I haven't tried but I do like Telerik) is Telerik's new WebUI Testing Studio. I will also echo Selenium up votes.

domus.vita
+2  A: 

Currently in my job i use QTP and it so far atleast can handle pretty much anything we throw at it both on the UI and it has a special mode for testing non gui services allowing us to check both and help us narrow down where some problems occur when we change the system. It is in my opinion very configurable and the inclusion of vbscript as its language allows integration with lots and lots of things on windows to allow you to do pretty much anything you want! For instance we use it to control the excel com object to make custom excel reports of success and failure so the format of the results is the same wether a test was run manually and also on another project used the adodb object to check that when a page submits information to the database that the database contains the correct data for that record!

As for integration into the build process i have not tried this myself but it is possible to launch qtp and a test from a vbs file so i would assume this should be fairly trvial as ms tools tend to allow you to run vbs files pretty easily from most tools.

I would reccomend it to anyone assuming you can get someone to buy the license!

Gigglymesh
A: 

If you are looking for simple, cross-browser tool with record and playback, multithreaded playback, intergration with build processes, powerful scripting, good reporting and excellent support, go for Sahi. It will be much easier for your testers/devs to learn and maintain.

A: 

hi there,

you might want to take in consideration near Selenium also Rational Functional Tester ! whether you are familiar with coding in .Net or Java and want to just play around with record & replay or want to create more sophisticated programmatic testing I would recommend it.

Tiberiu Hajas
A: 

WebDriver is another possibility: http://code.google.com/p/webdriver

They are working on a .NET wrapper that may be interesting for you.

luc
A: 

Try QEngine. It has all the features of QTP.

Rajasankar
A: 

Watin is pretty unstable to use it in serious projects. It often fails with unexpected reasons like "EI is busy" or something like "Error with COM object". Selenium is much more stable and it already has a lot of supporting tools. For example Selenium GRID is a solution which allows significantly decrease run time of tests. (Our smoke tests on Watin takes 6 hours to run).

Yauheni Sivukha