2017-01-25 70 views
1

是否有一個命令可以像pythons globals()一樣在機器人框架中運行,該框架是它所知道的所有全局變量的字典或列表?我試圖運行機器人代碼的一部分作爲遠程執行,但是我需要將全局變量傳遞給遠程服務器。我事先不知道通過什麼樣的全局變量。如何收集所有機器人框架全局變量

我需要將它們傳遞作爲** ARGS

${items} = Remote Keyword  &{ALL_SUITE_GLOBALS} 

謝謝你。

+0

嘿,這是一個有趣的問題!我無法回答,但我很好奇其他人會提出什麼建議。據我所知'Log Variables'不提供你所需要的。 –

+0

你需要一個只有全局變量的列表嗎?你可以得到所有變量的列表,但我不認爲有一種方法可以獲得只有全局變量的列表。 –

+0

所有變量都不會傷害......但我需要它們和它們的值,以便本地代碼的遠程代碼副本可以執行並使用相同的全局變量。例如$ {user}和$ {user_password}可能是從'robot -v'設置的,並且需要在遠程位置 –

回答

1

根據Robot框架文檔,我們可以使用選項 - 變量從命令行設置全局變量。

我認爲這可以通過使用ANT來實現,您需要爲其配置build.xml。 你必須在你的lib文件夾添加robotant

創建build.properties文件,其中包含要在全球範圍內使用的變量。

例子:

SERVER_IP = X.X.X.X 
SERVER_PORT = 9090 

添加這些變量在build.xml文件

<robotant> 
    <arg line="--variable SERVER_IP:${SERVER_IP}" /> 
    <arg line="--variable SERVER_PORT:${SERVER_PORT}" /> 
</robotant> 

現在你可以在你的程序在全球範圍使用這些變量。

+0

這很有趣,但我不認爲這是完成我所需要的。我配置了一個遠程機器人服務器。本地機器人具有與本地機器人相同的機器人代碼庫。我希望能夠遠程運行我的機器人代碼的元素,有一個FEW命令行-v $ {vars}集,但我需要的大部分全局變量來自機器人庫的*** Variables ***部分,或者可變文件。我需要所有的全局變量而不僅僅是命令行。 –