我有一组按测试用例分类的测试数据,我希望有一个测试设置关键字来加载每个测试用例的数据.像这样的东西会起作用:
*** Keywords ***
Load Test Data
[Arguments] ${test case name}
${data}= Get File ${test case name}.txt
Set Test Variable ${data} ${data}
*** Testcases ***
First Test
Load Test Data First Test
Log ${data}
Second Test
Load Test Data Second Test
Log ${data}
Run Code Online (Sandbox Code Playgroud)
但是,不必在每个测试用例的开头包含"负载测试数据"关键字.是否有一个关键字可以获取测试用例的名称,所以我可以在"加载测试用例"中调用它并使其成为测试设置关键字,就像这样?
*** Settings ***
Test Setup Load Test Data
*** Keywords ***
Load Test Data
${test case name}= Get Test Case Name
${data}= Get File ${test case name}.txt
Set Test Variable ${data} ${data}
*** Testcases ***
First Test
Log ${data}
Second Test
Log ${data}
Run Code Online (Sandbox Code Playgroud)
基本上,相当于"获取测试用例名称"的是什么?
如果使用Robot Framework关键字无法轻松完成,我不介意用Python弄脏自己.如有必要,我可以创建"加载测试数据"作为Python库.是否有一个类存储当前测试用例的名称,我可以访问?
Lor*_*ist 25
经过一番挖掘,我能够在文档中找到它:http: //robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#automatic-variables
有一个内置变量${TEST NAME},所以我的测试用例看起来像:
*** Settings ***
Test Setup Load Test Data
*** Keywords ***
Load Test Data
${data}= Get File ${TEST NAME}.txt
Set Test Variable ${data} ${data}
*** Testcases ***
First Test
Log ${data}
Second Test
Log ${data}
Run Code Online (Sandbox Code Playgroud)
正如附加的评论和想法一样,如果您想处理文件和更复杂的逻辑,拥有更多的控制权,那么用 Python 编写自定义机器人库也许是个好主意。
执行此操作时,您还可以通过以下方式访问“自动变量”或内置机器人变量:
from robot.libraries.BuiltIn import BuiltIn
BuiltIn().get_variable_value("${TEST NAME}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15716 次 |
| 最近记录: |