这是一个采访我的检票口的问题。我们有5,6个硒测试的硒测试课。测试3正在执行中,并且发生网络故障。现在一旦网络恢复,如何配置框架,以便从第三次测试失败的地方开始。并应执行已执行的测试1 & 2.假设框架是junit。网络故障后继续执行测试
1
A
回答
2
我不能同意javaguy的回答。我认为这个问题完全有效。作为一个概念的单元测试和作为工具的JUnit之间有很大的区别。
javaguy的回答中描述的是单元测试。这些确实不能使用任何东西,只能将类加载到内存中并写入。但是,当然使用Selenium Web驱动程序的测试不是单元测试。它有效地选择了一个JUnit作为实现这些测试的框架。当然,我们可以争论JUnit是否是最好的工具,但它是一个不同的故事,如果选择JUnit作为这些测试的实现工具,这是一个不错的选择。
现在关于你的问题。有很多不同的方法来实现你想要的。
创建一个允许重新运行测试的JUnit规则。一般来说,如果您熟悉AOP术语,规则有点像拦截器或方面。他们拦截了测试,所以失败后可以重新运行。 Here您可以找到解释规则并提供一些链接的问题。
实现自定义运动员。只有当您没有使用其他跑步者时,这种方法才会起作用,因为JUnit仅为跑步者提供了一个插槽。 这个自定义运行器将再次拦截测试呼叫,并将在网络故障/ ping网络时重新运行并等待,并且只有当它将“返回”时才会重新运行。然后您可以使用
@RunWith
注释激活您的实际跑步者测试。适用的解决方案。假设,在您的测试中,硒web驱动程序是唯一实际依赖网络的东西,将硒驱动程序调用包装到您的调用中。为硒的所有呼叫提供
try/catch
,并在发现异常时重试。你甚至可以为此使用方面或手动实现包装。有在詹金斯/你的构建工具的水平也有一些解决方案,但我认为这些都是超出范围实际上...
希望这有助于
相关问题
- 1. 检测网络故障排除?
- 2. 硒测试套件:故障切换测试执行
- 3. 网络故障后Cometd推送通知
- 4. 网络故障的测试线束软件
- 5. andlinux slirp网络故障
- 6. 网络动画故障
- 7. TestNG不会继续执行失败后的测试
- 8. Python Bot如何在网络故障后重试
- 9. 如何在网络故障后保存并重试报告GKAchievement?
- 10. 特定故障后停止测试
- 11. SIGALRM:在执行后继续执行
- 12. 进入后台后,应用程序是否继续执行网络操作?
- 13. JUnit测试类故障
- 14. Jboss故障转移测试
- 15. 单元测试WCF故障
- 16. 如何告诉LLDB在分段故障后继续?
- 17. 继续使用Azure在电源故障后上传
- 18. 如何在异常之后继续执行Android检测程序测试?
- 19. 即使发生故障,也可以继续执行某些任务
- 20. googleTest继续测试
- 21. Selenium网络驱动程序测试在测试控制器机器未通过测试时出现故障
- 22. 莴苣:断言后继续测试
- 23. Xcode在测试完成后继续
- 24. Testflight - 30天后继续测试?
- 25. Python单元测试失败后继续
- 26. 如何跳过surefire测试但运行故障安全测试?
- 27. 如何解决网络故障net :: ERR_NAME_NOT_RESOLVED
- 28. 网络通信故障排除
- 29. RabbitMQ的集群网络故障
- 30. 重新连接socat网络故障