wake-up-neo.net

Wie schreibt man mehrere Bedingungen von if-Anweisungen in Robot Framework?

Ich habe Probleme, if-Bedingungen in Robot Framework zu schreiben.

Ich möchte ausführen

Run Keyword If '${color}' == 'Red' OR '${color}' == 'Blue'  OR '${color}' == 'Pink'    Check the quantity

Ich kann dieses Schlüsselwort "Run keyword If" mit einer Bedingung verwenden. Bei mehr als einer Bedingung wurde diese Fehlermeldung angezeigt:

FEHLER: Der Schlüsselwortname darf nicht leer sein.

Und ich möchte auch diese Schlüsselwörter verwenden:

Run Keyword If '${color} == 'Blue' AND '${Size} == 'Small' AND '${Design}' != '${Simple}'      Check the quantity

Und

Run Keyword Unless '${color}' == 'Black' OR '${Size}' == 'Small' OR '${Design}' == 'Simple'

Aber am Ende bekomme ich nur Fehler.

16
user3477373

Sie sollten anstelle von OR und AND Small Caps "oder" und "und" verwenden.

Beachten Sie auch die Leerzeichen/Tabulatoren zwischen Schlüsselwörtern und Argumenten (Sie benötigen mindestens zwei Leerzeichen).

Hier ist ein Codebeispiel, bei dem Ihre drei Keywords einwandfrei funktionieren:

Hier ist die Datei ts.txt:

  *** test cases ***
  mytest
    ${color} =  set variable  Red
    Run Keyword If  '${color}' == 'Red'  log to console  \nexecuted with single condition
    Run Keyword If  '${color}' == 'Red' or '${color}' == 'Blue' or '${color}' == 'Pink'  log to console  \nexecuted with multiple or

    ${color} =  set variable  Blue
    ${Size} =  set variable  Small
    ${Simple} =  set variable  Simple
    ${Design} =  set variable  Simple
    Run Keyword If  '${color}' == 'Blue' and '${Size}' == 'Small' and '${Design}' != '${Simple}'  log to console  \nexecuted with multiple and

    ${Size} =  set variable  XL
    ${Design} =  set variable  Complicated
    Run Keyword Unless  '${color}' == 'Black' or '${Size}' == 'Small' or '${Design}' == 'Simple'  log to console  \nexecuted with unless and multiple or

und hier ist was ich bekomme, wenn ich es ausführen:

$ pybot ts.txt
==============================================================================
Ts
==============================================================================
mytest                                                                .
executed with single condition
executed with multiple or
executed with unless and multiple or
mytest                                                                | PASS |
------------------------------------------------------------------------------
33

Stellen Sie einfach sicher, dass Sie ein Leerzeichen vor und nach "und" Schlüsselwort einfügen.

0
kunal krishna