由于Ranorex不提供重新运行功能,我必须自己编写,在开始之前,只想向那些已经完成它的人提出建议或者可能是现有的解决方案。市场。
目标是:
要求:
应自定义递归迭代量
如果使用数据绑定,则应仅包含失败的数据绑定的迭代
答案 0 :(得分:0)
1a上。 根据报告xml:解析报告并收集有关所有失败的TC的信息。
缺点: 解析将是棘手的
或强>
1b中。 或者在运行时创建失败的TC列表:如果在拆卸时发生故障,请将此迭代添加到重新运行列表(可能是文件或数据库表)。
使用例如:
string testCaseName = TestCaseNode.Current.Name;
int testCaseIndex = TestSuite.Current.GetTestCase(testCaseName).DataContext.CurrentRowIndex;
然后:
2a上。根据列表,使用参数运行可执行文件,循环每个记录。 像这样:
testSuite.exe /tc:testCaseName tcdr:testCaseIndex
或强>
2B。或者生成新的TestSuite文件.rxtxt并重新编译解决方案以创建更新的可执行文件。
,最后一部分:
3A。在最后的重复过程中,通过CI运行可执行文件检查failedTestCases == 0 || currentRerunIterations < expectedRerunIterations
脚本
或强>
3B。将整个Test Suite包装到Rerun测试模块中并对failedTestCases == 0 || currentRerunIterations < expectedRerunIterations
执行相同检查并从TestModule运行Ranorex
请告诉我您对此的看法。
答案 1 :(得分:0)
我会使用Ranorex命令行参数possiblities来实现这一点。最重要的是相应地构建套装,每个测试用例可以单独运行。
在测试期间,我会将失败的测试用例记录到文本文件,数据库或以后可以读取数据的任何其他解决方案中(如果需要,甚至可以从xml结果中解析)。
根据该数据,您只需在再次运行套件时插入测试用例名称作为命令行参数:
testSuite.exe /testcase:TestCaseName
或
testSuite.exe /tc:TestCaseName
完整的命令行参考可以在这里找到: https://www.ranorex.com/help/latest/lesson-4-ranorex-test-suite