I am looking for a tool that might allow my company to test a number of internal/private sites for browser compatability. I am particularly interested in being able to test IE, Firefox, Chrome and Safari. I don't believe that a site like browsershots can help with this.
Selenium grid can execute multiple tests in parallel on different browsers like chrome, safari, IE, Firefox and opera.
Here is a step-by-step walk-through right from test environment setup to coding using TestNG and Selenium Grid. The sample testng.xml file could be got from:
On a functional basis, something like Selenium or Watir-Webdriver will work to test some of the most popular browsers.
But IMHO the first line of defense is going to be a human, since a majority of the issues I've seen with regard to cross browser support tend to be rendering issues, that are often not easy to automate in a non brittle fashion.
It's stuff that doesn't interfere too much with functionality but makes the site look like hell, or stuff like say 5 buttons overlapped in a single spot, which make the site un-usable by a human, but won't even phase a lot of functional test tools (which because they are acting programmatically at the DOM level have no issue clicking a specific button regardless of where it is on the screen or what's rendered on top of it.
I've found Saucelabs.com a big time saver in not having to setup a ton of test client environments. They have free accounts too!
Here is my test rig.
I run a Macbook pro, which allows me to test Safari, Firefox and opera side-by-side.
I then have a number of virtual machines (Mostly XP) that have the different browsers installed on them.
One word of caution, the "hack" solutions are about 98% right and do have a few issues.
I can only comment on the tool that I know well, that being TestComplete by SmartBear. There are features in that tool that allow you to compare a web page to a stored copy of it, comparing properties to determine if they match. Additionally, it can compare accessibility components of web pages.
The most recent version, released 5/24/2011, includes support for IE 9 and Firefox. Chrome and Safari are not supported yet.
We're currently implementing Fighting Layout Bugs which is a Java based tool for identifying common look n feel issues such as :
- invalid image URLs
- horizontal edge overlapping text
- vertical edge overlapping text
- text with too low contrast
We liked the UI of Adobes Browser Lab but like yourself, it wasn't suitable for us as we wanted to test internal sites.
We have also implemented a bitmap comparison tool (again in Java) which uses stored screenshots as oracles & compares new screenshots to the oracles
A handful of Virtual Machines would probably do the trick.
Very late response here, but Telerik's Test Studio supports playing back functional and performance tests for IE, Firefox, Chrome, and Safari.
I completely agree with the earlier comment that cross-browser support, regardless of the tool, should always be done only for functional testing. Trying to validate rendering issues in different browsers is something that should always be done by humans -- those types of tests aren't a good target for automation. They're too difficult to author, and far too expensive to maintain. (I speak from painful experience...)
(Disclosure: I work for Telerik as their Test Studio evangelist)
http://slodive.com/web-development/cross-browser-testing/ take a look at this i mainly use browsershot for css validation. there is another tool though paid. but u can use the trail verssion. its called crossbrowser testing. also its good idea to use selenium grid. because it is not possible to check links and the little bit of functionality using browser shots etc...
I am looking at WatiN for cross browser functional testing and looking at Expession SuperPreview for comparing the layouts between different browsers.
Edit #2: After further requirements gathering for we ended up picking up a licence for Telerik's test studio. One of the key directives that I ended up being given by my management was to find a tool with robust record and playback capability. One nice thing about the tool is that I can inject coded steps to handle more complex situations that the record and playback is not up to. I am still working on seeing how well this will maintain over the long run but I am pretty happy with it so far.