我正在寻找一种方法来重试运行失败的Android Jmeter 测试或称为集成测试/ui测试。我认为有三种方法可以做到这一点。
- 使用Jenkins阶段脚本重试->检索所有失败的测试,并使用run gradle命令
./gradlew clean app:connectedVariantNameAndroidTest
再次执行它们->我还没有尝试这种方法。 - 插件:我尝试了Gordon,但是,它的最低Java支持版本是17,这与我们的CI机器(Java 11)不一致。
- 在代码中实现为一些helper类:已尝试此post->检测测试失败时未重试。
我认为在测试自动化中通常使用对插装失败的测试进行重试,因为插装测试是不稳定的,并且容易失败。请帮助如果你有任何方法来实现这一点。
1条答案
按热度按时间zsohkypk1#
您可以从任何阶段重新启动声明性管道。如果您保持构建工作区,并且错误出现在管道执行之外,而不是在代码或测试或依赖项中,那么它将起作用。在这种情况下,你需要更新你的来源。在某些情况下,你可能需要使用
gradle(dotnet mvn etc ...) clean
。如果你的代码必须重新编译,你可以把它放在post{always {}}
步骤中。示例
Jenkins侧
1.简单示例:
字符串
Jenkins邮报
1.使用声明性管道阶段重启的高级示例:
管道:
型
产出:
型
重播阶段:
重放输出:
的
型
说明:
型
你可以编译简单的和先进的例子,如果你愿意。但我认为这会矫枉过正
Gradle侧
1.使用gradle test retry plugin
1.您可以在pre&post Package 器中添加一些逻辑来检查测试状态并在某些情况下重放用例