web-dev-qa-db-fra.com

Comment écrire plusieurs conditions de if-statement dans Robot Framework

J'ai des difficultés à écrire les conditions if dans Robot Framework.

Je veux exécuter

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

Je peux utiliser ce mot clé "Run keyword If" avec une condition, mais pour plusieurs conditions, j'ai l'erreur suivante:

ECHEC: Le nom du mot clé ne peut pas être vide.

Et aussi j'aimerais utiliser ces mots-clés:

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

Et

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

Mais je finis juste par avoir des erreurs.

16
user3477373

Vous devez utiliser des petites majuscules "ou" et "et" au lieu de OR et AND.

Et méfiez-vous aussi des espaces/tabulations entre les mots-clés et les arguments (vous avez besoin d'au moins deux espaces).

Voici un exemple de code avec vos trois mots clés qui fonctionnent bien:

Voici le fichier 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

et voici ce que je reçois quand je l'exécute:

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

Assurez-vous simplement de mettre un seul espace avant et après "et" Mot-clé ..

0
kunal krishna