Ranorex 自定义重运行组件

Ranorex custom re-run component

由于 Ranorex 不提供幕后重新运行 功能,我必须自己编写,在开始之前,只想向已经完成或可能的人寻求建议市场上现有的解决方案。

目标是:

要求:


可能的解决方案:


1a。 基于报告xml:解析报告并收集有关所有失败 TC 的信息。

缺点: 解析会很棘手

或:

1b。 或在 运行 时间创建失败的 TC 列表: 如果失败发生在拆卸时将此迭代添加到重新 运行 列表(可以是文件或数据库table)。

使用例如:

string testCaseName = TestCaseNode.Current.Name;
int testCaseIndex = TestSuite.Current.GetTestCase(testCaseName).DataContext.CurrentRowIndex;

然后:

2a。根据列表,运行 executable 带参数,循环遍历每条记录。 像这样:

testSuite.exe /tc:testCaseName tcdr:testCaseIndex

或:

2b。或者生成新的 TestSuite 文件 .rxtxt 并重新编译解决方案以创建更新的 executable.

最后一部分:

3a。最后重复过程,通过 CI 运行 executable

用脚本检查 failedTestCases == 0 || currentRerunIterations < expectedRerunIterations

或:

3b。将整个测试套件包装到 Re运行 测试模块中,并对来自 TestModule

failedTestCases == 0 || currentRerunIterations < expectedRerunIterations 和 运行 Ranorex 进行相同的检查

请告诉我你的想法。

我会使用 Ranorex 命令行参数的可能性来实现这一点。主要的事情是相应地构建套装,每个测试用例可以单独 运行。

在测试过程中,我会将失败的测试用例记录到文本文件、数据库或任何其他解决方案中,您稍后可以从中读取数据(如果您可以从 xml 结果中解析数据)想要)。

从该数据中,您只需将测试用例名称作为命令行参数插入,同时 运行再次打开套件:

testSuite.exe /testcase:TestCaseName

testSuite.exe /tc:TestCaseName

完整的命令行参数参考可以在这里找到: https://www.ranorex.com/help/latest/lesson-4-ranorex-test-suite