1

私はRIDE robotframeworkを使用しています。アプリケーションがクラッシュしたときに例外を処理したい場合はクローズしてから、新しいインスタンスを開きます。乗り物ロボットフレームワークでtry catch例外を処理する方法は?

*** Settings *** 
Library   SikuliLibrary 

*** Variables *** 
${openProject} sikuli_captured\\Emna\\openProject.png 
${DataBaseSTProject} sikuli_captured\\Emna\\DataBaseSTProject.png 
${testSession} sikuli_captured\\Emna\\testSession.png 
${menu}   sikuli_captured\\menu.png 
${fileName}  sikuli_captured\\Emna\\fileName.png 
${save}   sikuli_captured\\Emna\\save.png 

*** Test Cases *** 
createNewProject 
    Click ${menu} 
    Click ${testSession} 
    Input Text ${fileName} FirstProjecT3 
    Click ${save} 

openTestProject 
    Click ${openProject} 
    Double Click ${DataBaseSTProject} 

いずれかの提案があります。あなたの助けのための

感謝:)ロボット枠組みの中で

enter image description here

+0

Robot Frameworkからアプリケーションを起動していますか、既に起動していますか? OperatingSystemライブラリを使用して起動した場合は、アプリケーションを閉じることもできます。それがアプローチではない場合は、ライブラリを使用して、それを殺すコマンドラインスクリプトを起動します。 –

+0

私はロボットフレームワークとRIDE – Emna

+0

を使ってデスクトップアプリケーションをテストしています。悲しいことに、この反応は私が尋ねた質問に答えません。 Robot Framework [Process Library](http://robotframework.org/robotframework/latest/libraries/Process.html)を使用してアプリケーションを起動するのか、テストスクリプトの一部として起動するのですか?アプリケーションがクラッシュしたと機能的にどのように判断しますか?イメージが検出されない秒数?テスト中のアプリケーションの新しいインスタンスで各テストケースを開始しますか? –

答えて

1

のtry/catchの概念は/最後には存在しません。本質的にはTest Case bodyです。このトリプタクタの一部です。他の2つは、それぞれTest Suite,Test CaseまたはKeywordセクションの[Teardown]キーワードに結合されています。

このTeardownキーワードの中で、Robot Framework自体のautomatic variablesまたはRun Keyword If ...family of keywordsを通して、テストケースが合格または不合格であるかどうかを認識することができます。これにより、Catchのセクションと最後にCatchのセクションを作成することができます。コードの下のセクションでは、それぞれが同じTeardownを使用する合格/不合格のテストケースの例を示します。

この構成では、テストケースのステップが失敗したかどうかを確認し、アプリケーションがクラッシュしているかどうかを確認してから、アプリケーションを閉じて再起動します。

*** Test Cases *** 

Open Application and fail 
    Log to Console About to Fail 
    Fail 
    Log to Console Will never trigger. 
    [Teardown] Generic Test Case Teardown 

Open Application and Pass 
    Log to Console About to Pass 
    No Operation 
    Log to Console Will trigger. 
    [Teardown] Generic Test Case Teardown 

*** Keywords *** 
Generic Test Case Teardown 
    # Catch of Try Catch Finally 
    Run Keyword If Test Failed Test Case Catch 

    # Finally of Try Catch Finally 
    # RKITS is only executed when test passed. 
    Run Keyword If Test Passed Test Case Finally 
    # Always executed regardless of test execution status. 
    Log To Console  I am always executed. 

Test Case Catch 
    Log To Console Test Case Catch 

Test Case Finally 
    Log To Console Test Case Finally 
関連する問題