Ich versuche, eine Funktion zu schreiben, die mehrere Werte von einer Funktion zurückgeben kann, die 2 Argumente hat.
zB:
%Vor%Hier hat diese Funktion namens sample_function das Argument 2 arg1, arg2. Wenn ich diese Funktion in meinem Treiber-Skript wie value = sample_function (2, Name_person) aufrufe, sollte diese Funktion mir passagier, name1, age1, seatNumber Werte zurückgeben.
Wie kann ich das erreichen?
BEARBEITEN (LB): QTP benutzt VBScript, um die Testroutinen zu spezifizieren, also schrieb ich das zu VBScript, VB, weil die Lösung wahrscheinlich in VBScript ist.
Eine einfache Lösung wäre, ein Array zurückzugeben:
%Vor%Wenn Sie den gleichen Batch von Werten öfter als einmal verwenden, zahlt es sich aus, eine benutzerdefinierte Klasse zu erstellen:
%Vor%In VBScript sind alle Funktionsparameter Ein- / Ausgabeparameter (auch ByRef-Parameter genannt). So könnten Sie Ihre Daten einfach mit den Funktionsparametern zurückgeben. Beispiel:
%Vor%Sie können es tun, indem Sie Wörterbuchobjekt von der Funktion zurückgeben.
%Vor%hier im Wörterbuch, das ich Tasten hinzugefügt habe, die Msg1 und Msg2 ähnlich genannt werden, können wir mehr Schlüssel hinzufügen mit dem Wert von verschiedenen Typen wie int, Boolean, array jede Art von Daten ..
Durch die Verwendung eines Dictionary-Objekts. Dies ist Ihre Funktion
%Vor%Vorteil der Verwendung des Dictionary-Objekts ist, dass die Funktion irgendwann mehr Werte zurückgeben soll (und diese Funktion wird von vielen Projekten / Teams verwendet). Sie müssen nur die Werte hinzufügen, die Sie im Dictionary zurückgeben möchten Objekt, ohne weitere Parameter hinzufügen zu müssen (andere, die diese Funktion verwenden, erhalten keinen Fehler)
Wenn Sie sicher sind, dass das Array list1
nur die erforderlichen Daten auf die gleiche Weise wie die von Ihnen geposteten Daten enthält. Dann können Sie das Array auch direkt aus der Funktion übergeben: -