机器人框架:如何区分由于常规测试步骤关键字失败与验证测试步骤失败而导致的测试用例失败



机器人框架中的任何库都有两类关键字。执行常规测试步骤的关键字(例如Click Button(和验证某些事物的关键字(例如Table Column Should Contain(。后一个关键字通常包含"应该"一词。

我假设机器人框架只在报告中放置已执行测试用例的通过或失败状态。如何区分 FAIL 测试用例因测试步骤关键字失败与因测试验证关键字失败

?例如,计算器测试用例单击2, +, 2, =按钮,然后验证答案 4 是否为最后一个关键字的一部分(例如Should Be Equal As Numbers(。如果在未能单击任何按钮时失败,那么我会将其视为"未能执行实际验证"(我的结果处理脚本不会在此处记录错误(。但是,如果在实际验证结果时失败,那么它是与测试用例关联的有效错误(我的结果处理脚本可以采取相应的操作,例如记录错误(。

如果没有根据我的要求生成结果文件的技术(PASS、FAIL 和可能FAIL_TO_VERIFY状态(,那么我正在寻找一种处理结果或日志 xml 的技术,以确定每个 FAIL 测试用例的失败类型(FAIL 与 FAIL_TO_VERIFY(。

PS:我已经弄清楚了结果处理脚本中的错误日志记录部分。因此,将其视为超出上述问题的范围。

机器人在这方面提供的唯一功能是为在测试设置期间失败的关键字给出唯一的错误。如果您的测试设计为始终执行一系列设置,然后进行一组验证,这将执行您想要的操作。

但是,根据我的经验,大多数测试都不是这样的。通常,测试将有一些设置,一些验证,然后是更多步骤,然后是更多验证。最佳实践说不要写这样的测试,但有时这是不可避免的(或者至少是不方便的(

一种可能的解决方法是创建自己的关键字,称为"verify",其工作方式类似于"run 关键字",但将关键字包装在try/catch块中,然后设置标记或写入日志或返回自定义错误消息。

您的测试可能如下所示:

*** Test cases ***
Example
open browser  http://example.com  chrome
click button  submit
verify   page title should be  Hello, world
verify   page should contain   Welcome, internet visitor!

然后,verify关键字将运行该关键字,如果发生错误,它会捕获该关键字,然后抛出一个新错误,例如""verification failed for "page title should be Hello, world": <actual error>

当此关键字失败时,您还可以在测试中设置类似"验证失败"的标记。然后,您将在报告中得到一个很好的统计信息,显示有多少测试具有此标记(因此,有多少测试由于验证失败而失败(。

你能检查一下这个关键词吗 注册关键字以在selenium2Library 中失败时运行 ,此关键字将允许在 slenium2Library 关键字失败时执行任何其他关键字。 因此,您可以在此处调用错误报告关键字

最新更新