我们正在使用 Selenium 来自动化我们的 UI
测试。最近我们发现大多数用户都在使用 Chrome。所以我们想知道 - 使用 PhantomJS 与 Selenium 的优缺点:
- 在性能方面是否有任何真正的优势,例如执行测试用例花费的时间?
- 什么时候应该选择 PhantomJS 而不是 Selenium?
最佳答案
他们正在解决不同的问题。由于 PhantomJS 在命令行上完美运行,因此它适合作为冒烟测试的第一层,无论是作为开发工作流程的一部分和/还是在持续集成服务器中。 Selenium 针对多个浏览器,因此对于确保跨浏览器一致性并在不同操作系统之间进行广泛的测试非常有用。
如果您的 Web 应用程序需要在各种 Web 浏览器上运行,仅使用 PhantomJS 运行 UI 测试将不会产生最大的测试覆盖率。然而,在进行深入测试之前启动 PhantomJS 并进行一些基本的健全性检查是完全可以的。想象一下测试财务应用程序时登录屏幕无意中损坏且无法运行是多么疯狂!
请注意,随着最新 PhantomJS 中最近对 WebDriver 的支持,两者之间的界限变得稍微模糊。现在可以首先使用 PhantomJS 快速运行测试,然后(假设没有遇到严重错误)继续在 Selenium 设置中彻底执行相同的测试。
关于google-chrome - Casperjs/PhantomJs 与 Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099770/