我正在使用 Selenium 1.x 和 Spring 3.0 设置 JUnit 4.7 测试。
我想扩展 Selenium 的SeleneseTestCase
快捷方式和它提供的约定(更重要的是,Selenium IDE 生成的代码似乎期待这一点)。然而,我希望在执行过程中出现 Spring 上下文和其他优点。
因为我无法扩展 Spring 的AbstractJUnit4SpringContextTests
,所以我尝试用@RunWith(SpringJUnit4ClassRunner.class)
. 这成功地设置了 Spring,但在 Selenium 执行中引起了一些奇怪:例如,测试执行缓慢并且浏览器窗口保持打开状态。我想它覆盖了 Selenium 的某些部分(只是一个猜测)......不幸的是,基SeleneseTestCase
类只允许更改一组受限制的参数,例如排除设置执行速度(让我想知道,如果基类那么好毕竟...)。
据我了解,为了使 Spring 的所有花里胡哨都能正常工作,我必须扩展AbstractJUnit4SpringContextTests
或用@RunWith(SpringJUnit4ClassRunner.class)
. 但是,前者我做不到,后者带来问题。
仅@ContextConfiguration
加载上下文,但至少依赖注入不起作用。那是我停下来的地方。
如何使用 Selenium(或任何其他具有相同案例的库)巧妙地初始化 Spring?
编辑:使文本更具可读性。