One of the cool things I like to do when testing webapps, is to define the testcases using SpecFlow (also known as Cucumber) and then use Selenium to actually execute the testcases against the web-application.
Here is an example testcase:
Feature: SpecFlowAndSelenium For demonstration purposes, I want to show how the human-readable SpecFlow testcases can be executed using Selenium to operate a real webbrowser Scenario: SeleniumAndSpecFlow Given I navigate to 'http://www.google.com' Then there must be a control with 'id' 'gbqfq' When I type 'Hello World!' into it Then there must be a control with 'id' 'gbqfb' When I click on it Then there must be a link with 'partialtext' 'Wikipedia' When I click on it Then there must be a control with 'id' 'searchInput' When I type 'Selenium' into it Then there must be a control with 'id' 'searchButton' When I click on it Then there must be a link with 'text' 'chemical element' And there must be a link with 'text' 'Selenium (software)' When I click on it Then there must be a link with 'text' 'web browsers'
And here you can see Selenium using Firefox to perform all the actions and checks: