我正在尝试 -browserSessionReuse Selenium 模式来加速我的测试,但我注意到了一个奇怪的行为。
这种模式的目的是避免在测试之间浪费时间打开浏览器,这就是它的工作原理。但并非总是如此,如果我连续运行测试,它们就会在同一个浏览器中运行,这是正确的。但是,如果每次测试运行之间经过几分钟,它会忘记它已经打开了一个浏览器,并打开一个新的浏览器。
我想丢弃“旧”浏览器会超时,但我不明白为什么。有什么办法可以避免这个问题吗?
(使用 Selenium1 和 Selenium2 进行测试)
提前致谢
Victor
回答我自己的问题。
Selenium 以 -browserSessionReuse 模式缓存会话,以便在以下测试中再次重用它,但它们在 BrowserSessionFactory 类中具有最大空闲会话过期时间:
private static final long DEFAULT_CLEANUP_INTERVAL = 300000; // 5 minutes.
private static final long DEFAULT_MAX_IDLE_SESSION_TIME = 600000; // 10 minutes
构造函数接收一个参数来进行清理,默认情况下为 TRUE。
public BrowserSessionFactory(BrowserLauncherFactory blf) {
this(blf, DEFAULT_CLEANUP_INTERVAL, DEFAULT_MAX_IDLE_SESSION_TIME, true);
}
AFAIK 无法使用 Selenium 参数更改它,唯一的方法是修改 Selenium 源代码并再次编译。所以,这就是我正在做的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)