如何让PHPUnit + Selenium运行得更快?

时间:2010-10-15 19:26:01

标签: performance selenium phpunit

我正在使用PHPUnit的Selenium扩展来进行Web测试。我觉得它很慢,单个测试方法需要几秒钟。部分问题似乎是它在每个测试方法(getNewBrowserSession)之间启动一个新的Selenium会话,作为runTest()的一部分。这很贵。我可以在单个selenium会话中运行一个类甚至整个套件的测试方法。

可以这样做吗?有没有其他提示加速PHPUnit + Selenium?

感谢。

3 个答案:

答案 0 :(得分:9)

您是否尝试过使用 browserSessionReuse 选项?例如。用

开始硒
java -jar ./selenium-server.java -browserSessionReuse

答案 1 :(得分:1)

您需要在测试之间共享Selenium实例。我不熟悉PHPUnit,但是在JUnit中你使用静态成员(创建一个包含Selenium实例的基本测试类,所有测试都应该扩展它)。在TestNG中,您可以使用测试上下文。

如果在IE上进行测试,还要尽量减少XPath的使用 - 缺少本机XPath会使测试运行得更慢。

Selenium 1也使用JavaScript来驱动浏览器,因此在IE上有点慢。 Selenium 2(又名WebDriver)使用本机方法来驱动浏览器,因此至少IE测试更快。

答案 2 :(得分:0)

我建议您构建持续集成系统以在晚上运行测试。然后在早上你将获得有关测试是否正常以及什么不是的信息。 检查哈德森。