Selenium Grid in mehreren Browsern: Sollte jeder Testfall für jeden Browser eine eigene Klasse haben?

Ich versuche, mein erstes datengetriebenes Test-Framework zusammenzustellen, das Tests über Selenium Grid / WebDriver in mehreren Browsern ausführt. Im Moment habe ich jeden Testfall in einer eigenen Klasse und parametriere den Browser, sodass er jeden Testfall einmal mit jedem Browser ausführt.

Ist dies bei großen Test-Frameworks üblich? Oder sollte jeder Testfall kopiert und für jeden Browser in seiner eigenen Klasse optimiert werden? Wenn ich also Chrome, Firefox und IE teste, sollte es Klassen für jede geben, z. B .: "TestCase1Chrome", "TestCase1FireFox", "TestCase1IE"? Oder einfach "TestCase1" und den Test so parametrieren, dass er dreimal mit jedem Browser ausgeführt wird? Ich frage mich nur, wie andere es machen.

Die Parametrisierung der Tests in eine einzelne Klasse pro Testfall erleichtert die Verwaltung des nicht browserspezifischen Codes, während das Duplizieren von Klassen für jeden Browserfall die Verwaltung des browserspezifischen Codes vereinfacht. Wenn ich browserspezifischen Code sage, zum Beispiel durch Klicken auf einen Artikel. In ChromeDriver können Sie nicht in die Mitte einiger Elemente klicken, in FirefoxDriver dagegen nicht. Sie benötigen also möglicherweise zwei verschiedene Codeblöcke, um auf ein Element zu klicken (wenn es nicht in der Mitte anklickbar ist).

Was wäre für diejenigen unter Ihnen, die angestellte QS-Ingenieure sind, die Selen verwenden, die beste Vorgehensweise?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage