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