首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >poltergeist/PhantomJS和capybara-webkit有什么不同?

poltergeist/PhantomJS和capybara-webkit有什么不同?
EN

Stack Overflow用户
提问于 2014-05-30 17:37:02
回答 4查看 10.4K关注 0票数 61

与PhantomJS?

  • Which相比,
  1. 和PhantomJS之间的区别是什么?这两个工具中最有效的工具是什么?
  2. Other ...
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-09 00:49:19

poltergeist是用于PhantomJS的水豚驱动程序,这是一个构建在WebKit上的无头浏览器。capybara-webkit是一个直接使用WebKit的水豚驱动程序。

与capybara-webkit相比,poltergeist/PhantomJS有一些很大的优势:

票数 66
EN

Stack Overflow用户

发布于 2015-08-26 16:51:24

TL;DR

  • Poltergeist/PhantomJS更容易设置,up
  • Poltergeist/PhantomJS更少,dependencies
  • Capybara-webkit更稳定可靠,更适合CI

Long:

我已经使用Poltergeist + PhantomJS一年多了。我最大的项目有很多Ajax调用,文件上传,图片操作,JS模板和纯CSS3动画。

有时,Poltergeist和PhantomJS会产生随机错误。

其中一些是我的错误。测试Ajax是一件棘手的事情。一个常见的错误是,在成功的测试结束时,Ajax gem截断了数据库,但是,由于数据库为空,一个database_cleaner调用仍在运行,并在控制器中生成异常。这并不总是很容易修复,除非您想使用sleep()。(我没有)。

然而,很多关于“幽灵”的错误并不是我的错误。我有一个测试,它做同样的事情30次(出于一个很好的理由),有时30次中有1次不起作用。幽灵根本没有点击这个按钮。这是一个可见的、非动画的普通按钮。我可以修复它(通过再次点击它),然而,这是一个丑陋的黑客行为,感觉是错误的。

有时,在所有浏览器中工作的脚本会在Poltergeist/PhantomJS中随机生成javascript错误。大约100次中的1到2次。

对于两个不同的Ajax上传插件,我体验到了PhantomJS 1.9和2.0的不同表现。2.0更加稳定和一致,但它还远远不够完美。

这对Jenkins来说是一个巨大的痛苦。大约每三次运行就会失败一次,因为400个特性(js浏览器测试)中有1到2个会产生随机错误。

两周前我试过Capybara-webkit。我花了几个小时才迁移过来,因为他们对待不可见元素的方式不同。Capybara-webkit在这一点上更正确或更严格。我注意到重叠元素也是如此。

测试Ajax上传和图像操作需要自定义脚本,我必须为Capybara-webkit修改这些脚本。

我使用Mac进行开发,FreeBSD用于生产,Linux用于Jenkins。Capybara-webkit的设置比Poltergeist更复杂,因为它需要一个屏幕,并且有很多依赖项。只有PhantomJS是真正无头和独立的。如果我愿意,我可以在生产服务器上运行PhantomJS。由于依赖关系,我不会用capybara-webkit这样做。

现在我有100%稳定的Jenkins CI。所有随机的javascript错误都是过去的记忆。Capybara-webkit总是点击我想让它点击的按钮。Javascript总是运行得很好。目前我在直线上有大约20-25个稳定的构建。

对于有大量Ajax的项目,我推荐使用capybara-webkit。

我的建议是基于2015年8月的当前最新版本。

票数 36
EN

Stack Overflow用户

发布于 2014-05-31 05:46:16

capybara-webkit和PhantomJS都使用Webkit在幕后渲染网页,也就是说,不需要浏览器。然而,它们是不同的工具:

  • capybara-webkit作为Capybara的适配器,可以让你为Rails或Rack应用编写和执行高级UI测试。
  • PhantomJS是一个较低级别的工具,它只允许你在网页上运行脚本。它还可以用来编写UI测试(例如,请参见Casper或任何其他构建于PhantomJS之上的testing tools )。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23951381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档