我有一个包含测试数据的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
...
使用机器人框架我添加了一个关键字来读取文件的内容,如下所示:
Read Data File
${LIST}= Process Data File session_data.csv
: FOR ${LINE} IN @{LIST}
\ Log ${LINE}
\ @{COLUMNS}= Split String ${LINE} separator=,
\ ${TESTCASE}= Get From List ${COLUMNS} 0
\ Log ${TESTCASE}
我已经创建了一个测试"验证结果"从CSV处理数据并验证预期结果,但所有过程都只被视为一个测试用例。
对于CSV文件中的每一行,我需要创建一个测试用例,例如:
Verify Result for Case_1
Verify Result for Case_3
Verify Result for Case_3
and so on...
请提供有关如何在Robot Framework中循环运行单个测试的建议。
答案 0 :(得分:0)
根据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} #
测试用例将运行三次。
答案 1 :(得分:0)
不幸的是,你想做的事情无法完成。 Robot不是设计用于将外部文件中的测试数据视为单独的测试用例。
您可以执行的操作是编写一个脚本来读取.csv文件,并在运行测试之前将其转换为一系列机器人测试用例。然后,您可以运行此生成的测试套件。
答案 2 :(得分:-1)
您可以将测试用例转换为关键字,并在测试用例的循环内运行它。可以通过每次运行从CSV获取输入来更改值