For loop 在RobotFramework中,是否可以在For循环中运行测试用例?

For loop 在RobotFramework中,是否可以在For循环中运行测试用例?,for-loop,syntax,keyword,robotframework,For Loop,Syntax,Keyword,Robotframework,所以我的问题可能是句法性质的,也许不是,但我不知道下一步该怎么做。我正在机器人框架上编写一个测试用例,我的最终目标是能够在一个循环中背靠背地运行多个测试 在下面的这种情况下,Log-to-Console调用工作正常,并输出作为参数传递的不同值。下一个调用“查询数据库和分析数据”也起作用 *** Test Cases *** | For-Loop-Elements | | @{Items} = | Create List | ${120} | ${240} |

所以我的问题可能是句法性质的,也许不是,但我不知道下一步该怎么做。我正在机器人框架上编写一个测试用例,我的最终目标是能够在一个循环中背靠背地运行多个测试

在下面的这种情况下,Log-to-Console调用工作正常,并输出作为参数传递的不同值。下一个调用“查询数据库和分析数据”也起作用

*** Test Cases ***
| For-Loop-Elements
| | @{Items} =                    | Create List | ${120} | ${240} | ${240} 
| | :FOR                          | ${ELEMENT} | IN | @{ITEMS}
| | | Log To Console              | Running tests at Voltage: ${ELEMENT}
| | | Query Database And Analyse Data
但是,当我尝试用文档和标记“查询数据库和分析数据”创建一个测试用例时,我得到了一个错误:关键字名称不能为空,这让我想到,当文件到达[documentation tag]时,它不理解它是测试用例的一部分。这通常是我编写测试用例的方式

请注意,缩进尝试匹配循环的内部

*** Test Cases ***
| For-Loop-Elements
| | @{Items} =                    | Create List | ${120} | ${240} | ${240} 
| | :FOR                          | ${ELEMENT} | IN | @{ITEMS}
| | | Log To Console              | Running tests at Voltage: ${ELEMENT}

| | | Query Database And Analyse Data
| | | | [Documentation]           | Query DB.
| | | | [Tags]                    | query | voltagevariation

| | | Duplicates Test
| | | | [Documentation]           | Packets should be unique.
| | | | [Tags]                    | packet_duplicates | system
| | | | Duplicates

| | | Chroma Output ON
| | | | [Documentation]           | Setting output terminal status to ON
| | | | [Tags]                    | set_output_on | voltagevariation
| | | | ${chroma-status} =        | Chroma Output On | ${HOST} | ${PORT}
现在,这是一个语法问题,缩进问题,还是我想做的事情完全不可能?如果你写过类似的案例,但方式不同,请让我知道


如果您有任何帮助或意见,我们将不胜感激

您正在尝试使用关键字作为测试用例。Robot框架不支持这种方法。 您可以做的是用大量关键字制作一个测试用例:

*** Test Cases ***
| For-Loop-Elements
| | @{Items} =                    | Create List | ${120} | ${240} | ${240} 
| | :FOR                          | ${ELEMENT} | IN | @{ITEMS}
| | | Log To Console              | Running tests at Voltage: ${ELEMENT}
| | | Query Database And Analyse Data
| | | Duplicates
| | | ${chroma-status} =        | Chroma Output On | ${HOST} | ${PORT}

*** Keywords ***
| Query Database And Analyse Data
| | Do something
| | Do something else
...
你不可能把
[Tags]
放在任何有用的地方。但是,如果您不直接使用关键字,而是将其包装进去,则可以触发有意义的失败消息(替换
[文档]


此外,请查看以完全摆脱
:FOR
-循环。

您正在尝试使用关键字作为测试用例。Robot框架不支持这种方法。 您可以做的是用大量关键字制作一个测试用例:

*** Test Cases ***
| For-Loop-Elements
| | @{Items} =                    | Create List | ${120} | ${240} | ${240} 
| | :FOR                          | ${ELEMENT} | IN | @{ITEMS}
| | | Log To Console              | Running tests at Voltage: ${ELEMENT}
| | | Query Database And Analyse Data
| | | Duplicates
| | | ${chroma-status} =        | Chroma Output On | ${HOST} | ${PORT}

*** Keywords ***
| Query Database And Analyse Data
| | Do something
| | Do something else
...
你不可能把
[Tags]
放在任何有用的地方。但是,如果您不直接使用关键字,而是将其包装进去,则可以触发有意义的失败消息(替换
[文档]

此外,请查看以完全摆脱
:FOR
-循环