2014-03-28 74 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 

確保$ {測試名稱}有沒有空的空間,沒有\ /內的字符,否則車程將輸出一個錯誤,假設一個目錄,而不是一個文件名。爲了找到這個,我掙扎了很多。

相關問題