Ranorex自定义重新运行组件

时间:2017-08-25 17:02:26

标签: ranorex

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

目标是:

  • 在运行结束时,重新运行失败的测试用例。

要求:

  • 应自定义递归迭代量

  • 如果使用数据绑定,则应仅包含失败的数据绑定的迭代

2 个答案:

答案 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