【发布时间】:2014-12-13 13:27:22
【问题描述】:
我想找到一些新的概念性想法,但欢迎提供具体的解决方案。
技术
- 版本控制系统:SVN
- 持续集成工具:TeamCity
- 代理:Windows(无管理员权限!)
- 语言:Java
- WebDriver:InternetExplorerDriver
- 测试:JUnit
- 构建:蚂蚁
问题
如果有人在运行时停止配置(TeamCity GUI 中的行),则不会执行 afterClass 方法(它会关闭浏览器)并且浏览器会变为残留。
结构
(beforeClass 启动驱动,afterClass 关闭它)
流程
(您看到红色箭头的地方,有人停止了配置 -> 例如:(s)他观察到测试失败并想再次运行它,但它产生了残留的浏览器,因为afterClass 未执行)
以前的尝试
- 转到代理并手动重新启动它(1 次/1-4 周)- 有效,但有很大的缺点
- 去找代理并尝试使用
taskkill和taskkill /F- 不起作用 - 其他 Java 尝试(在测试之前运行“清理程序” - 本机 Windows 命令),但没有成功
你有什么想法吗?它们可以与agent、TeamCity、Java代码、ant、具体配置等相关。
【问题讨论】:
-
查看 junit 规则 TestWatcher 并相应地拦截失败并退出驱动程序。
标签: java memory-leaks junit selenium-webdriver teamcity