Parallele Selen-Tests mit Capybara durchführen

8

Hintergrund:

Ich habe eine Reihe von Capybara Integrationstests, die gegen meine Rails 3-Anwendung laufen. Für die anderen Teile der Testsuite verwende ich Rspec .

Ich habe einen Selen 2.6.0 Standalone Server Hub auf meinem Mac OSX Dev-Rechner.

%Vor%

Ich führe mehrere virtuelle Maschinen aus, die jeweils mit einem Selenknoten an den Hub angeschlossen sind:

%Vor%

Das funktioniert einwandfrei. In diesem Screenshot zeigt die Konsole, dass ich einen IE7- und einen IE8-Browser mit dem Hub verbunden habe:

Ich habe capybara für den Selen-Hub eingerichtet (der die Tests an die Knoten delegiert).

%Vor%

Es funktioniert, es wird jedoch nur den Test auf einem einzelnen Knoten internet_explorer ausführen. Es scheint die eine zu sein, die "erste Linie" ist; Wenn ich es ausschalte, wird der Test erfolgreich auf dem anderen Knoten ausgeführt.

Ich habe das parallel_tests -Projekt getestet, Capybara wie vorgeschlagen konfiguriert, aber das würde immer noch nur einen Integrationstest starten.

Wie kann ich meine Integration auf allen Knoten des internet_explorer gleichzeitig ausführen?

Bonusfrage: Wenn ich meine Integrationstests unabhängig von der Browserfunktionalität auf allen verbundenen Knoten durchführen möchte, wie würde ich das tun?

    
Daniel 27.09.2011, 07:55
quelle

2 Antworten

3

Hier müssen Sie die gleichen Tests für verschiedene Browser auslösen, damit Sie versuchen können, zwei Testprozesse zu starten. Führen Sie den gleichen Befehl zweimal aus.

Nachdem Sie die Knoten gestartet haben, übernimmt das Grid die Ausführung auf verschiedenen Knoten.

In Ihrem Fall führen Sie den Test aus und nur in Suite / Prozess wird in Bezug auf Grid gestartet. Nur zu Testzwecken Versuchen Sie, diese Tests zweimal nacheinander auszuführen. Wenn Sie nicht in der Lage sind, dies zu erreichen, verwenden Sie Ant oder ähnliches, um die Ausführung von Tests zu kontrollieren.

    
lAH2iV 03.10.2011 05:51
quelle
1

Für IE Webdrive können Sie höchstens einen Test auf einem physischen Knoten ausführen! Wenn Sie eine Parallelität mit dem IE-Webdriver erreichen möchten, können Sie versuchen, weitere physische Knoten zum Hub hinzuzufügen / zu registrieren.

Im obigen Screenshot der Hub-Konsole wird Ihnen nur ein IE-Symbol angezeigt. Die Nachricht ist falsch, dass "unterstützt bis zu 5 ....", aber Sie können die Anzahl der Symbole für den jeweiligen Browser darunter angezeigt werden.

    
user861594 01.10.2011 11:49
quelle