web-dev-qa-db-ja.com

Robot Frameworkでifステートメントの複数の条件を記述する方法

Robot Frameworkでif条件を書くのに問題があります。

実行したい

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

これを使用できます "Run keyword If "キーワードには1つの条件がありますが、複数の条件に対してこのエラーが発生しました。

FAIL:キーワード名は空にできません。

また、これらのキーワードを使用したいと思います:

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

そして

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

しかし、エラーが発生するだけです。

18
user3477373

OR and AND。)の代わりに、スモールキャップ "or"および "and"を使用する必要があります。

また、キーワードと引数の間のスペース/タブにも注意してください(少なくとも2つのスペースが必要です)。

3つのキーワードが正常に機能するコードサンプルを次に示します。

これがファイル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

そして、私はそれを実行すると私が得るものです:

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

「and」キーワードの前後にスペースを1つ入れてください。

0
kunal krishna