2013-06-18 13 views
1

下面是我的基於python的測試的一般情況。如何將對象變量傳遞給RobotFramework中的測試用例?

============================================================================== 
***Settings*** 

Variables  variable_file.py 
Library   library.py 

***Test Cases*** 

A Test Case 
     myTest  ${some string}  [I want to pass an object here] 

============================================================================= 

最後,我想傳遞一個實際的類對象,它已經在我的變量文件中定義了。我沒有找到一種方法來傳遞字符串或列表之外的任何東西。有誰知道如何?

回答

2

默認情況下,$ {variable}是字符串,但它也可以包含對象。 你可以將它作爲參數傳遞給關鍵字。

採取這樣的一個簡單的例子:

${mydict} = Create Dictionary a 1 b 2 

=>然後,你必須$ {mydict} = { 'A': '1', 'B': '2'}

而那麼你可以用你的對象作爲參數調用一個關鍵字。例如:

Dictionary Should Contain Key ${mydict} a 

我正在使用那種東西來測試向我發送JSON的REST API。我將JSON對象存儲在Robot變量中,並通過探索字典的內容來檢查結果。我在blog post中稍微解釋了一點。

1

可以實例變量文件對象變量,如User guide 這裏說是一個通用的例子

變量文件:

#var_file.py: 
class foo(object): 
    a = "foo" 
    b = "bar" 

MY_VAR = foo() 
MY_SECOND_VAR = foo 

測試用例文件:

#var_file.txt 
*** Test cases *** 
log variables 
    log ${MY VAR.a} 
    log ${MY VAR.b} 

使用執行:

pybot -V var_file.py var_file.txt 
相關問題