2014-03-28 78 views
5

我有一组测试数据按测试用例进行分类,并且我想要一个用于为每个测试用例加载数据的测试设置关键字。像这样的东西会工作:Robot Framework获取当前测试用例的名称

*** 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} 

然而,这将是很好不必须包括在每个测试用例的开头“负载测试数据”的文章。是否有关键字可以获取测试用例的名称,所以我可以在“Load Test Case”中调用它,并将其设置为测试设置关键字,如下所示?

*** 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} 

基本上,“Get Test Case Name”的等价物是什么?

如果使用Robot Framework关键字无法轻松完成,我不介意让我的手因为Python而变得脏兮兮的。如果需要,我可以创建“Load Test Data”作为Python库。是否有一个类可以存储当前测试用例的名称,我可以访问?

回答

1

此外,还有一个${SUITE NAME}变量,它包含主文本文件的名称。

1

如果您希望套件中的测试用例名称为${SUITE_NAME}以获取包含测试用例的文件的名称(通常称为测试套件),则可以使用${TEST_NAME}

1

当任何测试案例发生错误,并且您想要使用Teardown重命名具有失败测试名称的屏幕截图文件时,此功能非常有用。

Test Teardown 

    Take Screenshot  ${TEST NAME}.jpeg 
    Kill Program 

确保$ {测试名称}有没有空的空间,没有\ /内的字符,否则车程将输出一个错误,假设一个目录,而不是一个文件名。为了找到这个,我挣扎了很多。

相关问题