规范在本地通过,但在 CircleCI 上没有通过,运行 poltergeist + phantomjs

Specs are passing locally but not on CircleCI, running poltergeist + phantomjs

当我 运行 然后在我的本地设置以及我同事的设置上时,我的规格通过了。但是他们拒绝传递我们的 CI.

我收到以下错误:

Failure/Error: page.create_template_shift(user, day)
     Capybara::Poltergeist::MouseEventFailed:
       Firing a click at co-ordinates [960, 267.5] failed. Poltergeist detected another element with CSS selector 'html.js.no-flexbox.flexboxlegacy.canvas.canvastext.no-webgl.touch.no-geolocation.postmessage.websqldatabase.no-indexeddb.hashchange.history.draganddrop.websockets.rgba.hsla.multiplebgs.backgroundsize.borderimage.borderradius.boxshadow.textshadow.opacity.cssanimations.csscolumns.cssgradients.cssreflections.csstransforms.no-csstransforms3d.csstransitions.fontface.generatedcontent.no-video.no-audio.localstorage.sessionstorage.webworkers.applicationcache.svg.inlinesvg.smil.svgclippaths body.templates.show.modal-open div.modal-backdrop.fade.in' at this position. It may be overlapping the element you are trying to interact with. If you don't care about overlapping elements, try using node.trigger('click').

这是来自 capybara-screenshot 的屏幕截图:

如您所见,我正在尝试单击 "Save" 按钮,但它不能,因为似乎有一个 div 即 black/faded 覆盖了整个屏幕.

这怎么可能只发生在他们的环境中?为什么会这样?

编辑:更新图像和示例。

原来是我的 bower.json 文件中的一个包违反了规范。 当 运行 在 CircleCI 中,由于 bower.json 中版本号之前的 ~ 字符,它下载了最新的包。

我的本地环境中有一个旧包。