Wie kann ein von Robot Framework aufgerufener Test Informationen an die Konsole zurückgeben?

8

Ich habe eine Roboter-Framework-Testsuite, die eine Python-Methode aufruft. Ich möchte, dass diese Python-Methode eine Nachricht an die Konsole zurückgibt, ohne den Test zu beenden. Speziell versuche ich einen Prozess zu zeit.

Ich kann "raise" verwenden, um eine Nachricht an die Konsole zu senden, aber gleichzeitig wird der Test nicht bestanden.

%Vor%

Oder ich kann "print" verwenden, um eine Nachricht an die Protokolldatei zurückzugeben und zu berichten, ohne den Test zu unterbrechen, aber diese Information ist nur im Bericht verfügbar, nicht in der Konsole.

%Vor%

Wenn ich die Option "Drucken" verwende, bekomme ich Folgendes:

%Vor%

Was ich will ist das:

%Vor%     
Skip Huffman 04.04.2011, 15:30
quelle

3 Antworten

12

Da Sie Python verwenden, haben Sie zwei einfache Möglichkeiten:

  1. Schreiben Sie Ihre Nachrichten in die stderr . Diese Nachrichten werden sowohl in die Log-Datei von Robot als auch in die Konsole geschrieben. Eine Einschränkung besteht darin, dass die Nachrichten erst dann zur Konsole gelangen, wenn das von Ihnen ausgeführte Keyword beendet ist. Ein Vorteil ist, dass dieser Ansatz auch mit Java-basierten Bibliotheken funktioniert.

  2. Schreiben Sie Ihre Nachrichten in Python nach sys.__stdout__ . Der Roboter fängt nur sys.stdout und sys.stderr ab und lässt sys.__stdout__ (und sys.__stderr__ ) alleine (wie alle Python-Programme, die sich gut benehmen). Diese Nachrichten enden nur auf der Konsole, aber Sie können sie auch in sys.stdout schreiben, um sie auch in die Protokolldatei zu bekommen.

Pekka Klärck 04.04.2011, 21:34
quelle
1

Sie können die robot.api-Bibliothek verwenden. Dies ist das Dokument für die Bibliothek

Ссылка

    
user3087722 16.01.2014 17:16
quelle
0

Lassen Sie Ihre lib eine Zeichenkette zurück und verwenden Sie Set Test Message , um sie anzuzeigen.

%Vor%

ref: Ссылка

Aktualisierungen:

  1. neuer Link: Ссылка
  2. new Log To Console gibt Ausgaben an die Konsole in Echtzeit aus (d. h. während der Testausführung, im Gegensatz zu Set Test Message , die nur am Ende des Testfalls ausgegeben werden.)
MarkHu 15.10.2013 23:56
quelle