2014-04-04 12 views
7

Ich habe 5 Testsuiten, die unabhängig voneinander sind. Ich muss es gegen die gleiche Umgebung ausführen. Die meisten meiner Testsuites bestehen aus API-Aufrufen. Die Testfälle in den Suites sollten nacheinander ausgeführt werden, da sie voneinander abhängig sind.Gibt es eine Möglichkeit, Roboter-Framework-Testsuiten parallel auszuführen?

Gibt es eine Möglichkeit, alle Testsuiten parallel über den Befehl pybot auszuführen?

Antwort

9

Es gibt keine native Behandlung von parallelen Ausführungen von Tests in Robot Framework. Es gibt Pabot, a parallel executor for RF. Pabot ermöglicht die Verteilung der Testsuite und erstellt einen kombinierten Bericht und Protokoll.

+1

Extrem nützliches Werkzeug. Die Zeit für die Ausführung unserer Regressionssuite wurde von 8 Stunden auf 2 Stunden verkürzt. –

3

Wir auch bei Workshare hatten unsere Meinung über die Angelegenheit (zu der Zeit, als wir über Mikko Arbeit nicht wussten) und wir vor kurzem öffnen es bezogen. Es ist jetzt Produktionsniveau, da wir es verwenden, um parallel unsere Tests auf unserem CI (jenkins) zu starten. Es kann einen vollständigen Abschlussbericht erstellen, fehlgeschlagene Tests erneut ausführen, es verfügt über einen globalen Setup-/Teardown-Mechanismus, es generiert Ergebnisdateien von xunit compatibles, und es funktioniert auch unter Windows :) (obwohl Linux eine bessere Option ist!)

Sie finden es unter: https://github.com/workshare/parallel_pybot

0

Wenn die Tests sind völlig eigenständige und vollständig parallel ich laufen einige Erfolge hatte mit nur schreiben eine Ausführung Skript, das wird für alle IP-Adressen der Geräte, auf denen würde ich möchte einen Test parallel ausführen und dann den Test mit dieser IP-Adresse als Argument aufrufen. Ich sage es auch, nur die output.xml-Dateien zu erstellen, sie auf der Basis des Hostnamens oder der IP-Adresse zu benennen, und dann führt der Scrip eine Nachverarbeitung mit Rebot durch, die einen aggregierten Bericht mit allen Einheiten erstellt.

0

Die einfache Lösung wird mit Jekins:

  1. Sie Jeknins mit Robot Framework plugin.You können zwei Jobs parallel laufen standardmäßig ohne Slave-Knoten installieren lassen könnten.
  2. Oder Sie haben mehrere Slave-Knoten, dann mit Tag in Roboter-und Knoten-Label, um Job zu verteilen.

einfach die Parameter in Jenkins Job Build-Abschnitt festgelegt, wie zB:

  1. pybot --include tag1 test.robot für job1
  2. dann gesetzt pybot --include tag2 test.robot für job2 .

Dann triggern vorgelagerten Job. Sie werden sie parallel laufen lassen.

Trotzdem müssen Sie sicherstellen, dass die Datei, auf die Sie zugreifen, von einem der Testjobs gesperrt wird.

Verwandte Themen