如何 运行 特定的测试用例以及 Robot Framework 中失败的测试用例

How to run a specific test case along with failed test cases in Robot Framework

我在 Robot Framework 中有一个测试用例,格式如下-

test_case 1: login
----
----
test_case 2: access name
----
----
test_case 3: access data
----
----
test_case 50: ...

考虑 test_case 3test_case 10 失败。当我使用 --rerunfailed 到 运行 失败的测试用例时,它再次失败,因为 test_case 1: Login 生成 会话 cookies 运行 以下测试用例成功,因为它们使用相同的 session cookies.

那么,我的问题是如何 运行 test_case 1: Loginfailed test_cases 一起?

So, my question is how to run test_case 1: Login along with failed test_cases?

简答:你不能。机器人并不是真正围绕测试依赖于其他测试的想法设计的。

长答案:最好的解决方案是使用关键字登录,然后将其作为测试或套件设置的一部分。由于您只想为整个套件登录一次,因此关键字可以设置一个标志,以便它实际上只登录一次。

另一种选择是编写您自己的脚本来解析机器人输出文件,生成失败测试列表,然后使用您想要添加额外测试的任何算法。然后,脚本可以 运行 机器人并告诉它 运行 您的自定义测试列表。

首先我想指出你的测试架构是错误的,你创建了一个测试用例依赖项。可以在此处找到有关如何创建独立测试的很好的讨论:https://sqa.stackexchange.com/questions/32193/automation-how-to-isolate-test-cases-when-they-really-depend-on-another-one

现在回到问题:

So, my question is how to run test_case 1: Login along with failed test_cases?

一般情况下你不能那样做。

我建议创建一个设置关键字来生成所需的会话 cookie,然后在测试中使用此数据。如果会话 cookie 可以重复使用,您可以在套件设置中调用设置关键字,这样它将执行一次并且可以作为套件中所有测试的套件变量使用。如果您有不同的套件,您可以将变量可见性提高到全局,以便它可以在所有套件中访问。如果会话 cookie 已存在于此变量中,请将逻辑放入设置关键字中的 return。