Selenium webdriver Robot框架-运行关键字if后执行多个关键字

Selenium webdriver Robot框架-运行关键字if后执行多个关键字,selenium-webdriver,robotframework,Selenium Webdriver,Robotframework,如果条件的计算结果为true,我将尝试执行多个关键字 我试着做这样的事 *** Test Cases *** | Example *** Keywords *** | Example | | ${title}= Get Title | | Run Keyword If | '${title}' == 'Some Title' | | ... Click Element | xpath=some element | | ... Element Text Shou

如果条件的计算结果为true,我将尝试执行多个关键字

我试着做这样的事

 *** Test Cases ***
| Example

 *** Keywords ***
| Example
|  | ${title}=  Get Title
|  | Run Keyword If      | '${title}' == 'Some Title' 
|  | ... Click Element   |  xpath=some element 
|  | ... Element Text Should Be  |   xpath=some element   |  some text
|  | ... Else
|  | ... Click Element   | xpath=other element  
运行此命令时出现的错误是Click元素需要1个参数,但得到4个

我知道我可以在testcases部分设置if语句,如果求值为true,它将运行一个包含我想要的所有内容的关键字,但是我想知道是否有一种方法可以从Keywords部分执行它


谢谢。

你可以做几件事。第一个是创建一个调用所有其他关键字的新关键字,然后从
runkeywordif
调用该关键字。这可能是最具可读性的解决方案,但代价是必须编写和记录另一个关键字

另一种选择是使用
运行关键字if
运行关键字
的组合,如下所示:

| | Run Keyword if | '${title}' == 'Some Title'
| | ... | Run Keywords
| | ... | Click Element | xpath=some element
| | ... | AND | Element Text Should Be  |  xpath=some element | some text
| | ... | ELSE
| | ... | Click Element | xpath=other element

运行关键字不接受带参数的关键字,因此您不能使用此选项。该选项用于为运行关键字下面的所有语句创建关键字并调用它。
--但是,如果执行的关键字需要带参数,则必须使用用户关键字。

使用
运行关键字时
确保使用大写字母
(根据文档使用带参数的关键字时需要)“运行关键字不带参数的关键字”-这不是正确的语句。