Selenium Grid na wielu przeglądarkach: czy każdy przypadek testowy powinien mieć oddzielną klasę dla każdej przeglądarki?

Próbuję zebrać moje pierwsze Data Driven Test Framework, które uruchamia testy poprzez Selenium Grid / WebDriver w wielu przeglądarkach. W tej chwili mam każdy przypadek testowy w swojej własnej klasie i sparametryzowałem przeglądarkę, więc uruchamia każdy przypadek testowy w każdej przeglądarce.

Czy jest to powszechne w dużych frameworkach testowych? A może każdy przypadek testowy powinien być skopiowany i dostrojony do każdej przeglądarki w swojej klasie? Więc jeśli testuję chrome, firefox i IE, czy powinny być klasy dla każdego, takie jak: „TestCase1Chrome”, „TestCase1FireFox”, „TestCase1IE”? Lub po prostu „TestCase1” i sparametryzuj test, aby uruchomić 3 razy z każdą przeglądarką? Zastanawiam się, jak to robią inni.

Parametryzacja testów w pojedynczą klasę na przypadek testowy ułatwia utrzymanie kodu nie związanego z przeglądarką, podczas gdy powielanie klas, po jednym dla każdego przypadku przeglądarki, ułatwia utrzymanie kodu specyficznego dla przeglądarki. Kiedy mówię o kodzie specyficznym dla przeglądarki, na przykład klikając element. W ChromeDriver nie możesz klikać pośrodku niektórych elementów, gdzie na FirefoxDriver możesz. Potencjalnie potrzebujesz dwóch różnych bloków kodu, aby kliknąć element (gdy nie jest klikalny w środku).

Dla tych z was, którzy są zatrudnieni Inżynierowie QA, którzy używają Selenium, jaka byłaby tutaj najlepsza praktyka?

questionAnswers(4)

yourAnswerToTheQuestion