代码之家  ›  专栏  ›  技术社区  ›  Schwern

如何使phpunit+硒跑得更快?

  •  3
  • Schwern  · 技术社区  · 14 年前

    我正在使用phpunit的Selenium扩展来进行Web测试。我发现它很慢,只需几秒钟就可以完成一个测试方法。问题的一部分似乎是,作为runtest()的一部分,它在每个测试方法(getNewbrowsersession)之间启动了一个新的Selenium会话。这个很贵。我可以在一个硒会话中运行一个类,甚至是整个套件的测试方法。

    能做到吗?是否还有其他加速phpunit+硒的方法?

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  9
  •   borrible    14 年前

    你试过使用 浏览器会话重用 选择权?例如,开始含硒

    java -jar ./selenium-server.java -browserSessionReuse
    
        2
  •  1
  •   Sergii Pozharov    14 年前

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

    如果您在IE上测试,也要尽量减少xpath的使用——缺少本地xpath会使测试运行速度变慢。

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

        3
  •  0
  •   Igor Rodinov    14 年前

    我建议您构建持续集成系统,以便在夜间运行测试。然后在早上你会得到信息什么测试可以,什么不可以。 检查哈德逊。