我if在Robot Framework中编写条件时遇到麻烦。
if
我要执行
Run Keyword If '${color}' == 'Red' OR '${color}' == 'Blue' OR '${color}' == 'Pink' Check the quantity
我可以Run keyword If在一个条件下使用此关键字,但是在多个条件下,出现此错误:
Run keyword If
失败:关键字名称不能为空。
我也想使用这些关键字:
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'
但是我最终会遇到错误。
您应该使用小写字母“ or”和“ and”,而不是OR和AND。
并且要注意关键字和参数之间的空格/制表符(您至少需要两个空格)。
这是一个代码示例,您的三个关键字运行良好:
这是文件ts.txt:
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 | ------------------------------------------------------------------------------