Grade de selênio em vários navegadores: cada caso de teste deve ter classes separadas para cada navegador?

Estou tentando montar meu primeiro Data Driven Test Framework que executa testes por meio do Selenium Grid / WebDriver em vários navegadores. Agora, eu tenho cada caso de teste em sua própria classe, e eu parametrizo o navegador, então ele executa cada caso de teste uma vez com cada navegador.

Isso é comum em grandes estruturas de teste? Ou, cada caso de teste deve ser copiado e afinado para cada navegador em sua própria classe? Então, se eu estou testando chrome, firefox e IE, deve haver classes para cada um, como: "TestCase1Chrome", "TestCase1FireFox", "TestCase1IE"? Ou apenas "TestCase1" e parametrize o teste para rodar 3 vezes com cada navegador? Apenas imaginando como os outros fazem isso.

A parametrização dos testes em uma única classe por caso de teste facilita a manutenção do código não específico do navegador, enquanto a duplicação de classes, uma para cada caso de navegador, facilita a manutenção do código específico do navegador. Quando digo código específico do navegador, por exemplo, clicando em um item. No ChromeDriver, você não pode clicar no meio de alguns elementos, onde no FirefoxDriver você pode. Então, você potencialmente precisa de dois blocos de código diferentes para clicar em um elemento (quando não é clicável no meio).

Para aqueles de vocês que são empregados engenheiros de QA que usam selênio, qual seria a melhor prática aqui?

questionAnswers(4)

yourAnswerToTheQuestion