2017-11-26 2 views
1

Von dem, was ich sagen kann, empfiehlt die Dokumentation die Ausgabe einer 'Ctrl-C', um die Ausführung einer '.robot' Datei (Testfall/Suite) abzubrechen. Ich habe mich gefragt, ob es einen Weg gibt, einen Bereinigungsmechanismus hinzuzufügen, wenn 'Strg-C' ausgegeben wird? Wenn nicht, kannst du vorschlagen, welche Roboter-API-Bibliotheken ich verwenden kann, um sie zu verbessern?Robotframe-Tastaturunterbrechung Bereinigung

+0

Können Sie mehr über den Anwendungsfall für diese Funktionalität erfahren? Warum sollte die a Ctrl C in deinem Fall so gebraucht werden? –

+0

Wenn der Benutzer den Test mitten in der Ausführung des Robotertests/-suite stoppen möchte, möchte ich, dass mein Roboterskript eine Bereinigung durchführt. Dies ist sehr hilfreich, wenn Sie die Konfiguration eines Tests ändern und am Ende der Ausführung wieder zurückgeben möchten. – ozn

+0

Ich denke, die Antwort von @bryan ist die richtige. Ich bin jedoch immer noch auf der Hut, warum der Abbruch eher als übliche Praxis angesehen werden sollte als eine außergewöhnliche Handlung. Meiner Meinung nach wäre es besser, wenn man die Argumente für die Auswahl eines bestimmten Testfalls verwendet, um einen Lauf von mehreren abzubrechen, nachdem der gewünschte abgeschlossen ist. –

Antwort

1

Wenn Sie die Ausführung mit control-c über die Konsole stoppen, führt der Roboter weiterhin die Teardown-Befehle aus.

Von der Bedienungsanleitung:

Die Ausführung gestoppt wird, wenn Strg-C in der Konsole gedrückt wird, wo die Tests ausgeführt werden. ... Standardmäßig werden Teardowns der Tests und Suites, die gestartet wurden, auch dann ausgeführt, wenn die Testausführung mit einer der obigen Methoden beendet wird. Auf diese Weise können Bereinigungsaktivitäten unabhängig davon ausgeführt werden, wie die Ausführung endet.

+0

Ich bin mir da nicht sicher. Sehen Sie sich das Benutzerhandbuch an [link] (http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#pressing-ctrl-c) Dies ist, was es sagt: > Die Ausführung wird gestoppt, wenn Strg-C gedrückt wird in der Konsole, in der die Tests ausgeführt werden. Wenn die Tests auf Python ausgeführt werden, wird die Ausführung sofort gestoppt, aber mit Jython endet es erst, wenn das aktuell ausgeführte Schlüsselwort endet. Wenn Strg-C erneut gedrückt wird, wird die Ausführung sofort beendet und Berichte und Protokolle werden nicht erstellt. – ozn

+0

Ich schätze, ich werde meinen obigen Kommentar widerrufen. Danke für die Information. Dieser Link bietet weitere Informationen zu dem, worüber Sie gesprochen haben: https://github.com/robotframework/robotframework/blob/master/doc/userguide/src/ExecutingTestCases/TestExecution.rst#setups-and-teardowns Ich habe gesucht für 'teardown'. Ich bin immer noch auf der Suche nach einem guten Beispiel dafür, wie das funktioniert, aber ich denke, dass es wahrscheinlich ausreicht, dass ich es jetzt brauche. – ozn