在Robot Fram中运行一个循环测试

2024-10-01 05:01:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含测试数据的csv文件,如下所示:

# Case, StartTime, EndTime, ExpectedResult
Case_1, 2018-01-11T00:10:00, 2018-01-11T00:58:00, 2.5
Case_2, 2018-01-11T00:15:00, 2018-01-11T00:54:00, 3.2
Case_3, 2018-01-11T00:18:00, 2018-01-11T00:47:00, 4.5
...

我使用robot的内容添加了以下关键字:

^{pr2}$

我已经创建了一个测试“verifyresult”来处理来自CSV的数据并验证预期的结果,但是所有的过程都被认为是一个测试用例。在

对于CSV文件中的每一行,我需要创建一个测试用例,例如:

Verify Result for Case_1
Verify Result for Case_3
Verify Result for Case_3
and so on...

请提供有关如何在Robot框架中循环运行单个测试的建议。在


Tags: 文件csv内容forrobot测试用例关键字result
3条回答

不幸的是,你想做的事是做不到的。Robot并不是设计用来将外部文件中的测试数据作为单独的测试用例来处理的。在

相反,您可以编写一个脚本来读取.csv文件,并在运行测试之前将其转换为一系列robot测试用例。然后,您可以运行这个生成的测试套件。在

您可以将测试用例转换为关键字,并在测试用例的循环中运行它。每次运行时都可以通过从CSV获取输入来更改值

正如Psytho所建议的,测试模板可以解决您的问题。在

这里有一个基本的例子来给你一个方向

*** Settings ***

*** Test Cases ***
Look for All Possible Outputs from the System Under Test
    [Template]    Look for Specific Output
   csv1     #These rows are treated as arguments for test cases with [Template]
   csv2     # You can put your list variable as well, i have not checked with list
   csv3

*** Keywords ***
Look For Specific Output
    [Arguments]    ${output}
    Comment    Pretending to look for a specific output...
    Log    ${output}   # 

测试用例将运行三次。在

相关问题 更多 >