Es sieht so aus, als ob Sie einfach nur ${COUNT}
inkrementieren möchten, wenn ${CELLVALUE}
gleich ${EXPECTEDVALUE}
ist. Das kann ziemlich leicht mit Set Variable if
getan werden, wenn Sie wissen, dass ${CELLVALUE}
und ${EXPECTEDVALUE}
sind von der gleichen internen Typ (zB Strings oder Ints), und Sie verwenden Roboter Framework 2.9 oder höher, können Sie es wie folgt schreiben können :
${COUNT}= Set variable if $CELLVALUE == $EXPECTEDVALUE
... ${COUNT+1} ${COUNT}
Dies setzt voraus, dass ${COUNT}
auf einen ganzzahligen Wert initialisiert wird, mit dem Sie den Wert tun können ${0}
durch die Zuordnung
Wenn Sie den Typ nicht kennen, können Sie den Typ nicht garantieren, oder Verwenden Sie eine ältere Version des Roboters, die Sie verwenden können
${COUNT}= Set variable if '''${CELLVALUE}''' == '''${EXPECTEDVALUE}'''
... ${COUNT+1} ${COUNT}
Natürlich könnten Sie Run Keyword verwenden und Status zurück, wie in Ihrem Beispiel, und dann den Status vergleichen: triple-Strings in Anführungszeichen um die Werte in Strings zu zwingen. Das scheint ein unnötiger zusätzlicher Schritt zu sein, aber es könnte in Ihrem eigentlichen Test sinnvoll sein.
Der Punkt ist, können Sie Set variable if und extended variable syntax verwenden, um dieses Problem zu lösen.
Anmerkung 1: Mit Set variable if werden zwei Werte zur Verfügung gestellt. Der erste Wert wird zugewiesen, wenn der Ausdruck wahr ist, der zweite Wert wird zugewiesen, wenn der Wert falsch ist. Der zweite Wert ist die ursprüngliche Variable, was bedeutet, dass sie nicht geändert wird. Wenn Sie den zweiten Wert nicht angeben, wird die Variable auf None
festgelegt.
Anmerkung 2: Setzen Sie einen Ausdruck in geschweiften Klammern (zB: ${COUNT+1}
wird in der Regel 4 von extended variable syntax dokumentiert
Anmerkung 3:. Beginnend mit Roboter Rahmen 2.9, sind Variablen in der Auswertung Namensraum mit der vereinfachten Syntax verfügbar $varname
. so ist der Roboter Variable ${CELLVALUE}
kann in python Ausdrücke wie $CELLVALUE
verwendet werden Diese im Abschnitt dokumentiert Evaluating Expressions in der BuiltIn Bibliothek Dokumentation
Anmerkung 4:.. $ {COUNT} muss in einen int-Typ initialisiert werden, zB $ {COUNT} = Setzen Sie die Variable $ {0} oder Sie erhalten einen Fehler bei der Variablenauflösung – ombre42
@ ombre42: guter Punkt. Ich habe die Antwort aktualisiert. Vielen Dank! –