Wie kann ich feststellen, robot framework nicht anmelden, ein Schlüsselwort?
In einem Roboter-framework-test-Fall lege ich eine variable und dann einen Prozess.
Da die Einstellung der Variablen ist nicht eine sehr interessante Informationen, ich will nicht, dass in meinem Bericht.
| Verifying STUFF |
| | ${endpoint}= | set variable | STUFF
| | Verify
Mein Bericht enthält:
KEYWORD: ${endpoint} = BuiltIn.Set Variable STUFF
Aber ich würde lieber nicht haben es. Wie kann ich feststellen, Robot Framework einfach nicht zu melden, die Linie?
------ Bearbeiten------
Wie es aussieht, dies sollte es tun:
pybot --removekeywords NAME:SetVariable testcase.txt
Aber die Set-Variable keywords sind immer noch da.
(Und ja, ich habe ein Upgrade mein robot framework zu 2.8.3 nutzen diese Funktion.)
- Was genau meinst du mit "Set-Variable keywords sind immer noch da"? Meinst du Sie sind immer noch angemeldet, oder meinst du, dass Sie immer noch existieren, in Ihren test? Auch, verwenden Sie die Java - oder Python-basierte version von Robot Framework?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die besten, die Sie tun können, ist die Verwendung
aber es wird immer noch melden Sie sich für alle das Stichwort nennt, gerade nicht, was in diesen.
Oder wenn Sie rufen Sie eine python-Funktion, die ruft eine andere Funktion, dann wird der Aufruf der zweiten Funktion ist nicht angemeldet.
Wie diese:
und lib.py Wesen wie diese:
Können Sie --removekeywords oder --flattenkeywords option auf pybot zu entfernen den Inhalt-Schlüsselwort wenn Sie Also z.B. Stichwort "foo" enthält eine Menge von logging-keywords, können Sie "--flattenkeywords name:foo" - option, um pybot, und In der log-Sie sehen nur das primäre keyword, aber keine keywords drin.
http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.3#removing-and-flattening-keywords
Das problem ist, dass, wenn Sie einer Variablen zuweisen, wie
${var} = Keyword
, den Namen des Keywords in Robot Framework Ausgänge${var} = Keyword
, nichtKeyword
wie man es erwarten würde. Wenn Ihr keyword aus einer Bibliothek oder einer Ressource-Datei, deren name wird ebenfalls enthalten sein, wie${var} = MyLibrary.Keyword
. Letzteres ist ein feature, aber die erstere ist eine bug, dass ist hoffentlich behoben, RF 2.9.Einen einfachen workaround für das keyword name, für jetzt, einschließlich die variable name mit Platzhalterzeichen. So etwas wie dies sollte für Sie arbeiten:
Wenn Sie eine python-Bibliothek, die folgende monkey-patching funktioniert bei mir:
Dann, wenn dieses Skript ausgeführt:
den "Log" - Schlüsselwort wird nicht protokolliert, der output aber die Ausgabe ist.
Wenn Sie wirklich wollen, nichts (auch keine debug/info/warn-Informationen protokolliert, die als "Schlüsselwörter" bezeichnet), werden Sie noch haben, um die log-level auf "NONE".
self
als parameter? Sie sind nicht Teil der definition einer Klasse. Wie geschrieben, dieser code wird nicht funktionieren.Robot Framework nicht melden "globalen" Variablen, die als Teil einer Variablen-Tabelle. "Global" ist in Anführungszeichen Gesetzt, weil die Globale Variable tatsächlich angemeldet ist, aber wenn Sie initialisieren Sie Ihre Variablen wie so...
...dann wird es nicht in der Log. Darüber hinaus, wenn Sie nicht wollen, dass jemand zu sehen, die variable ist, ob Sie nur mit Blick auf das vordere Ende der Test-suite, die Sie begraben können, es in eine Ressource-Datei und der Aufruf der Ressource-Datei.
Robot Framework-Protokolle Ihre Variable Festlegen Schlüsselwörter und Ergebnisse weil-Set-Variable impliziert, dass Sie die Einstellung einer variable dynamisch und könnte eine Einstellung basierend auf dem Ergebnis eines Keywords, in dem Fall würden Sie wahrscheinlich wollen Sie wissen, was das Ergebnis ist das Stichwort. Wenn Sie erstellen eine statische variable, dann ist keine zusätzliche Arbeit außerhalb der Tabelle erforderlich ist. Ist eine dynamische variable einen gewünschten Teil des Codes?