2016-08-24 11 views
0

RobotFrameworkで、私はサーバ上でコマンドを実行しようとしていますが、変数を出力して、Emptyまたは空ではないと比較していますが、エラーが発生しています。roboframeworkスクリプトの問題

ロボットスクリプト:

${redRelease} Execute Command As Root And Return Result ${SERVER} cat /etc/redhat-release | grep '6.7' 

Run Keyword If '${redRelease}'=='${Empty}' Should Contain xxx yyyy 

しかし、私はエラーを取得しています:

Evaluating expression '' 
Red Hat Enterprise Linux Server release 6.7 (Santiago)'==''' failed: 
SyntaxError: no viable alternative at character ''' (<string>, line 1) 

にはどうすればgrepコマンドの出力が空または非空であることを比較することができますか?

+0

実行コマンドは、ルートと戻り値として何をしますか?私の推測では、それは何とかサーバーからの応答を変更するものです。 – Pekka

+0

はい、ルートユーザーとしてコマンドを実行し、結果を返します。 – Bhv

+0

あなたのコードはSSHLibraryからExecute Commandを使うと私のために働きます。私は '$ {Empty}'が '' 'になる方法を理解していません。 $ {Empty}を別の値に誤って設定していないことを確認するには、 "Run Keyword If If ...."を実行する直前に$ {Empty}を記録してください。 – Pekka

答えて

0

RoboFrameworkには、同じ処理に役立つ組み込みライブラリ "SSHLibrary"が用意されています。例えば

*** Settings *** 
Library   SSHLibrary 


*** Variables *** 
${HOST}   127.0.0.1 
${USERNAME}  labadmin 
${PASSWORD}  root123 
${command}  cat /etc/*release 

*** Test Cases *** 

Login_to_server 
    Open Connection ${HOST} 
    Login ${USERNAME} ${PASSWORD} 
    ${output} Execute Command ${command} 
    Should Contain ${output} "Ubuntu" 

は、あなたのセットアップに応じて上記のスニペットを変更します。

関連する問題