跳过 "Capture Page Screenshot" 部分关键字

Skip "Capture Page Screenshot" for some keywords

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

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

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

有没有办法不为特定关键字截屏?例如,此关键字将创建 15 个屏幕截图(如果找不到 Donald):

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

没有什么built-in可以为所欲为。但是,有很多解决方案。

一种解决方案是在调用 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