Fact is, you don’t need to test all the things in all the browsers, and here’s why…
First, know this:
- There is a finite but slowly increasing number of browsers available to the public.
- Each browser engine uses its own unique way to render CSS-styled HTML to display web pages.
With that knowledge, now understand this:
- Writing a set of tests that cover all the possibilities is futile – there are just too many and no one has the time.
- Writing instructions for a “robot” to navigate through a web app across umpteen pages in all possible browsers is (again) futile.
- A belief that this can be achieved is fallacious and foolhardy. Attempting to do so is certainly not a good use of your test-development time.
"Yes, but why, Russ?"
Human users don’t suffer the same issues. Therefore, it’s pointless to try to teach a robot (automation-user) to be as resilient as a real human. You will not succeed. Read that again. You will not succeed. To believe otherwise is a waste of time and energy.
Test one browser and test it well.
Perhaps when you have a robust set of tests working against one engine, you could add one more and then iron out the wrinkles. Then stop. One is enough. Two is fantastic. Twenty five is pure fantasy.
If you have problems testing only ONE browser and those problems DO NOT affect everyday human users, turn away. It’s a browser issue, not a testing issue. Solving it does NOT improve anything: not your results, not your QA targets, nothing.
Lastly, there are lots of caveats to what I’ve said, edge cases (no pun intended) that don’t fit the general hypothesis I’ve presented here. Leaving those aside makes for a clear, “working hypothesis” and something you can take to your boss and help you both sleep at night.