在 robotframework 中调用关键字时如何限制预定义的参数值
How to restrict with predefined argument values while calling a keyword in robotframework
使用robotframework
。定义了一个 keyword
,它有两个输入参数,如下所述:
- searchFor - 用户想要搜索的任何字符串。
- searchBy - 此处可以根据此值进行搜索,例如
name, id, email
等。
此处 searchBy
仅适用于如上所述的预定义(有效)值。
问题: 是否可以限制调用者仅使用关键字并将有效值作为 searchBy
参数的参数值?否则会抛出错误并显示错误消息,可能是说无效值。 (比如 java 中的 enum
)
您可以使用 Evaluate 检查变量是否具有受支持的值:
*** Keywords ***
| Find something
| | [Arguments] | ${searchFor} | ${searchBy}
| | run keyword if | '${searchBy}' not in ('name', 'id', 'email')
| | ... | Fail | searchBy '${searchBy}' is invalid: must be 'name', 'id' or 'email'
使用robotframework
。定义了一个 keyword
,它有两个输入参数,如下所述:
- searchFor - 用户想要搜索的任何字符串。
- searchBy - 此处可以根据此值进行搜索,例如
name, id, email
等。
此处 searchBy
仅适用于如上所述的预定义(有效)值。
问题: 是否可以限制调用者仅使用关键字并将有效值作为 searchBy
参数的参数值?否则会抛出错误并显示错误消息,可能是说无效值。 (比如 java 中的 enum
)
您可以使用 Evaluate 检查变量是否具有受支持的值:
*** Keywords ***
| Find something
| | [Arguments] | ${searchFor} | ${searchBy}
| | run keyword if | '${searchBy}' not in ('name', 'id', 'email')
| | ... | Fail | searchBy '${searchBy}' is invalid: must be 'name', 'id' or 'email'