如何处理 ride 机器人框架中的 try catch 异常?
How to handle try catch exception in ride robot framework?
我正在使用 RIDE robotframework,我想在应用程序崩溃时处理异常我关闭它然后打开它的一个新实例。
*** 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}
如有任何建议,我们将不胜感激。
感谢您的帮助:)
在 Robot Framework 中,Try/Catch/Finally 的概念不存在。本质上,您的 Test Case body
是这个三重奏的 Try 部分,另外两个组合到各自 Test Suite, Test Case or Keyword 部分的 [Teardown]
关键字中。
在此 Teardown 关键字中,可以通过 automatic variables of Robot Framework itself or the Run Keyword If ...
family of keywords 识别测试用例是通过还是失败。这将允许您为 Catch 创建一个单独的部分,最后。在下面的代码部分中,给出了一个通过和失败测试用例的示例,每个都使用相同的拆解。
此构造应允许您检查测试用例中的步骤是否失败,验证应用程序是否已崩溃(通过弹出窗口的 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
要添加到 Kootstra 的答案中,您可能想要测试函数是否失败但测试实际上没有失败。
*** Keywords ***
Do Something And Fail
Log To Console FAIL
Fail
Do Something And Succeed
Log To Console SUCCESS
Test Something
${success}= Run Keyword And Return Status Do Something And Fail
Log To Console ${success} #False
${success}= Run Keyword And Return Status Do Something And Succeed
Log To Console ${success} #True
请参阅 Run Keyword And Return Status 文档。
将此与 Run Keyword If
结合使用以创建取决于关键字是否成功的行为。
从机器人框架 5.0 开始,现在应该可以使用 try/catch。Release notes
这是文档中的示例:
*** Test Cases ***
First example
TRY
Some Keyword
EXCEPT Error message
Error Handler Keyword
END
Keyword Outside
我正在使用 RIDE robotframework,我想在应用程序崩溃时处理异常我关闭它然后打开它的一个新实例。
*** 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}
如有任何建议,我们将不胜感激。
感谢您的帮助:)
在 Robot Framework 中,Try/Catch/Finally 的概念不存在。本质上,您的 Test Case body
是这个三重奏的 Try 部分,另外两个组合到各自 Test Suite, Test Case or Keyword 部分的 [Teardown]
关键字中。
在此 Teardown 关键字中,可以通过 automatic variables of Robot Framework itself or the Run Keyword If ...
family of keywords 识别测试用例是通过还是失败。这将允许您为 Catch 创建一个单独的部分,最后。在下面的代码部分中,给出了一个通过和失败测试用例的示例,每个都使用相同的拆解。
此构造应允许您检查测试用例中的步骤是否失败,验证应用程序是否已崩溃(通过弹出窗口的 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
要添加到 Kootstra 的答案中,您可能想要测试函数是否失败但测试实际上没有失败。
*** Keywords ***
Do Something And Fail
Log To Console FAIL
Fail
Do Something And Succeed
Log To Console SUCCESS
Test Something
${success}= Run Keyword And Return Status Do Something And Fail
Log To Console ${success} #False
${success}= Run Keyword And Return Status Do Something And Succeed
Log To Console ${success} #True
请参阅 Run Keyword And Return Status 文档。
将此与 Run Keyword If
结合使用以创建取决于关键字是否成功的行为。
从机器人框架 5.0 开始,现在应该可以使用 try/catch。Release notes 这是文档中的示例:
*** Test Cases ***
First example
TRY
Some Keyword
EXCEPT Error message
Error Handler Keyword
END
Keyword Outside