Unser aktuelles C#/Nunit 2.6.3-Testframework hat eine Regressionssuite, die über 35 Stunden benötigt, um auf einem einzelnen PC zu laufen, wobei einige Tests bis zu 20 Minuten dauern. Das Einrichten von Batch-Tests für die Ausführung auf mehreren Computern ist zeitaufwendig und ineffizient. Daher versuche ich, die Tests auf NUnit 3 zu migrieren, um die parallele Ausführung von Selenium Grid zu nutzen.Wie konfiguriert man Selenium Grid mit paralleler NUnit3-Testausführung?
Es ist mein Ziel, 12 Knoten zu haben, die jeweils einen IE ausführen. Es scheint jedoch, dass der NUnit3-Testadapter für VS versucht, alle Tests gleichzeitig auszuführen.
Da ich immer Tests von mehr Fixtures ausführen werde, als ich Knoten habe, ist es wichtig, dass Fixtures in einer Warteschlange sitzen, bis ein Knoten verfügbar wird. In der Praxis muss eine Testvorrichtung möglicherweise einige Stunden auf einen freien Knoten warten. Für meine aktuelle Konfiguration Experiment ich habe folgendes ein:
- Ein Hub mit folgenden Konfiguration:
java -jar selenium-server-standalone-2.48.2.jar -role hub -newSessionWaitTimeout:-1 -browserTimeout 120 -timeout 3600
Ein einzelner Knoten in Standardkonfiguration.
Zwei Testvorrichtungen mit jeweils 10 Tests. Die Prüfvorrichtungen haben das folgende Attribut:
[Parallelizable(ParallelScope.Self)]
In dieser Situation würde ich erwarten, dass nur ein einzelner Knoten, die eine einzelne Instanz von IE unterstützt dann nur einen einzigen Test durchgeführt werden würde. Der Hub würde dann den nächsten Test in der Warteschlange an den Knoten senden, wenn dieser frei wird. Es scheint jedoch, dass beide Testvorrichtungen gleichzeitig laufen. Ein Test ist mit dem Knoten geschoben aber Tests auf der anderen Halterung versagen mit der folgenden Meldung:
Ergebnis Nachricht:
OpenQA.Selenium.WebDriverException: Die HTTP-Anforderung an den Remote-Server WebDriver für URL http://localhost:4444/wd/hub/session Zeitüberschreitung nach 60 Sekunden. ----> System.Net.WebException: Die Operation hat eine Zeitüberschreitung
Wenn ich Grid auf Eclipse in einem Java/JUnit-Framework hatte ich keine Probleme. Der Hub würde Tests in die Warteschlange stellen, bis ein Knoten ohne Zeitüberschreitung frei wurde, wobei die Standardkonfiguration verwendet wird.
Kennt jemand die richtige Konfiguration oder ist das ein Problem mit dem NUnit 3 Test Adapter? Browser-Auswahl ist leider als IE behoben.