如何通过Java实现的关键字停止Robot框架中的测试执行?

如何通过Java实现的关键字停止Robot框架中的测试执行?,java,keyword,robotframework,Java,Keyword,Robotframework,我有一个用Java实现的关键字,如果关键字失败,我需要用消息“ERROR:example message”停止整个测试执行。查看以下用户指南: 您可以在关键字方法中引发任何异常。异常类型将用作前缀,您也可以添加消息。我看到两种解决方案: 第一个解决方案: 在测试本身中,您可以使用 Library Dialogs (....) pause execution myMessage 这将在屏幕上显示一个弹出窗口,并暂停执行,直到调用OK按钮。 例如,您可以在出现错误时从j

我有一个用Java实现的关键字,如果关键字失败,我需要用消息“ERROR:example message”停止整个测试执行。

查看以下用户指南:


您可以在关键字方法中引发任何异常。异常类型将用作前缀,您也可以添加消息。

我看到两种解决方案:

  • 第一个解决方案:
在测试本身中,您可以使用

Library         Dialogs
(....)
pause execution     myMessage
这将在屏幕上显示一个弹出窗口,并暂停执行,直到调用OK按钮。 例如,您可以在出现错误时从java关键字返回特定值,如果返回该值,则暂停

  • 第二种解决方案

我更喜欢这样:只需将调试器连接到执行关键字的java代码,并在出现异常时停止。它还允许检查JVM当时的状态。演示如何将远程调试器连接到运行robot关键字的jvm。

引发异常是官方推荐的方法

Java(如接受答案的注释中所示)

蟒蛇

from exceptions import AssertionError
.
.
.
 def rftest(self):
   test_result = lib.runtest()
   if (0 != test_result ):
          raise AssertionError("Test Failed")

这是一个有效的问题。我没有成功地实现《用户指南》中的解决方案,但我已经解决了“抛出新断言错误(“错误:示例消息”);《用户指南》还说引发异常是更新链接的正确方法。链接已断开。
from exceptions import AssertionError
.
.
.
 def rftest(self):
   test_result = lib.runtest()
   if (0 != test_result ):
          raise AssertionError("Test Failed")