如何处理ride Robot框架中的try catch异常?

Emn*_*mna 1 user-interface automated-tests ui-automation sikuli robotframework

我正在使用 RIDE robotsframework,我想在应用程序崩溃时处理异常,我关闭它然后打开它的新实例。

*** 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}
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。

感谢您的帮助 :)

在此输入图像描述

A. *_*tra 6

在 Robot Framework 中,不存在Try/Catch/Finally的概念。本质上,您的尝试Test Case body部分是这三重奏的一部分,其他两个部分被组合成相应测试套件测试用例关键字部分的关键字。[Teardown]

在此 Teardown 关键字中,可以通过Robot Framework 本身或关键字系列的自动变量来识别测试用例是否通过或失败。这将允许您为 Catch 创建一个单独的部分,最后。在下面的代码部分中,给出了通过和失败测试用例的示例,每个测试用例都使用相同的拆卸。Run Keyword If ...

此构造应该允许您检查测试用例中的某个步骤是否失败,验证应用程序是否崩溃(通过弹出窗口的 Sikuli 图像测试),然后关闭并重新启动应用程序。

*** 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
Run Code Online (Sandbox Code Playgroud)