跳过某些关键字的“捕获页面截图”

时间:2019-05-10 10:36:16

标签: appium robotframework

我正在使用AppiumLibrary在Robot Framework中编写测试用例。

我正在使用以下代码导入AppiumLibrary,以便在出现问题时获取屏幕截图:

AppiumLibrary.__init__(self, run_on_failure="Capture Page Screenshot")

有没有一种方法可以不截取特定关键字的屏幕截图?例如,此关键字将创建15个屏幕截图(如果找不到唐纳德):

Wait Until Keyword Succeeds    30 seconds    2 seconds    Element Text Should Be    Username    Donald

1 个答案:

答案 0 :(得分:1)

没有内置功能可以执行您想要的操作。但是,有许多解决方案。

一种解决方案是在调用wait until keyword succeeds之前立即关闭捕获关键字(使用register keyword to run on failure)。然后,您可以调用wait until keyword succeeds,然后再重新打开捕获。

或者,您可以注册自己的自定义关键字而不是Capture page screenshot。您自己的关键字可以使用想要确定是否捕获屏幕截图的任何逻辑。例如,它可以寻找一个全局变量来告诉它是否捕获。

您还可以编写自己的关键字来代替wait until keyword succeeds,该关键字也使用其他两种解决方案之一。

例如,创建一个名为wait until element contains text的关键字,它将关闭捕获,运行wait until keyword succeeds,然后再将其重新打开。然后,在测试中,您仍然只有一条语句:

wait until element contains text  Username  Donald