2015-05-20 37 views
-2

我正在嘗試使用機器人框架變量文件來創建一個字典來描述我的測試牀中的硬件。根據提供的參數的值,將返回不同的硬件。機器人框架變量文件可以創建一個在測試用例中可用的字典嗎?

例如,這是我嘗試使用(命名Topology.py)變量文件:

import sys 
testbed = sys.argv[1] 
UUT1 = {} 
UUT2 = {} 

if testbed == 'development': 
    UUT1 = {'platform': 'xyz', 'address': '192.168.1.1'} 
    UUT2 = {'platform': 'xyz', 'address': '192.168.1.2'} 
if testbed == 'production': 
    UUT1 = {'platform': 'pdq', 'address': '192.168.2.1'} 
    UUT2 = {'platform': 'pdq', 'address': '192.168.2.2'} 

我的目標是便能引用該字典從測試情況中。例如:

| | Verify Unit Is Online | ${UUT1[address]} 

我現在面臨的問題是,每當我調用變量文件,機器人立即退出並出現以下錯誤:

[ ERROR ] Execution stopped by user. 

是否可以使用字典這種方式?

+1

我幾乎不知道你的實際問題是什麼。 – jonrsharpe

+0

我已經更新了這個問題,希望更清楚。 – BakerBug

回答

0

是的,一個變量文件可以創建一個字典。機器人框架用戶指南gives an example

引用該值時使用的語法錯誤。使用extended variable syntax時,必須在大括號內使用python引用,因爲大括號內的所有內容都被視爲python表達式。變量引用應該是,如果sys.argv[1]既不是"development"也不"platform",在這種情況下UUT1UUT2不會被定義${UUT1["address"]}

你的代碼也可能會失敗。

所有這些被說,可能不會導致錯誤[ ERROR ] Execution stopped by user.如果你使用錯誤的語法,你會得到一個不同的錯誤,所以你的問題中的錯誤似乎與一個不同的問題有關。

相關問題