Importieren und verwenden von benutzerdefinierten Klassen in robot framework mit python
Angenommen ich habe eine Klasse in python:
class TestClass(object):
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def print_args(self):
print arg1, arg2
Möchte ich robotframework
zu implementieren meinen tests-Szenarien. Ich möchte ein Beispiel aus der obigen Klasse und die Methoden aufrufen. Wie macht man das? Ich weiß, wie ich den import der lib, es sollte wie folgt sein:
Library TestClass
Ich weiß nicht, wie Sie initialisiert ein Objekt von dieser Klasse und rufen Sie die Klasse Methoden über das Objekt. Wenn ich wollte, es zu implementieren, mit python, ich würde schreiben ein Stück code wie folgt:
import TestClass
test = TestClass('ARG1', 'ARG2')
test.print_args()
Nun, ich möchte wissen, wie diese zu schreiben in robotframework
. Keine Hilfe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Importieren die Bibliothek mit Argumenten, nur fügen Sie Sie nach den Namen der Bibliothek:
Also den "import", und die Instanziierung erfolgt in einem Schuss. Nun, die Sache, die kann schwierig sein, zu verstehen, den Umfang der Instanz. Dies wird gut erklärt in der Bedienungsanleitung im Abschnitt "Test-Bibliothek Umfang":
Beachten Sie, dass wenn Sie möchten, importieren Sie die gleiche Bibliothek mehrmals mit verschiedenen Argumenten, und damit Unterschied Instanzen von Klassen, Sie haben Namen, Sie auf importieren:
Und dann in den tests verwendet wird, müssen Sie das Präfix der keywords:
Erklärt ist das in dieser Abschnitt der Bedienungsanleitung.
War ich in der Lage zu instanziieren python-Klassen on-demand (also nicht nur hart-codierte args als über die Bibliothek Technik).
Habe ich eine helper-Methode zum erstellen der Klasse. Ich war nicht in der Lage, um die Roboter-Skript zum Aufruf des Konstruktor der Klasse direkt, aber es ist in der Lage, aufrufen von Funktionen, die in Python, so können wir eine Klasse erstellen oder namedtuple, indem eine Funktion-basierte Schnittstelle: