javascript - 我的测试现在因 SyntaxError: Parse error (Capybara::Poltergeist::JavascriptError) 而失败

标签 javascript ruby capybara phantomjs poltergeist

发生的事情的一些背景。所以我没有升级/更改任何关于我的测试框架的 gems/code/versions 等,它包含以下内容(我正在运行 ruby​​ 1.8.7p374):

gem 'capybara', '1.1.4'
gem 'commander', '4.1.3'
gem 'cucumber', '1.2.3'
gem 'poltergeist', '1.0.2'
gem 'parallel', '0.6.2'
gem 'parallel_tests', '0.10.1'
gem 'rspec', '2.13.0'
gem 'sauce', '2.3.2'
gem 'sauce-cucumber', '2.3.1'
gem 'gherkin', '2.11.6'

上周三,我的测试都顺利通过,然后周四早上,当我尝试针对我们的网站运行该套件时,我遇到了很多失败消息:

  One or more errors were raised in the Javascript code on the page:

  SyntaxError: Parse error (Capybara::Poltergeist::JavascriptError)

就我们网站上的变化而言,我们最近更改了我们的登录和注册表格以通过 https,但那是在星期三,我在部署之前已经运行了我的测试。

我在装有 OSx 10.8.5 的 Mac 上运行我的测试

我已经尝试在本地 linux vagrant box 上运行它,但我仍然遇到错误。

但是,如果我在我们的一个 Linux 实例(托管在 AWS 上)上运行测试,它运行良好。

我已经尝试将其诊断至死,但没有发现任何问题。其中最有用的是 Firebug ,它根本不会在我们的网站上发现任何 javascript 错误。

请帮忙,因为这让我发疯。

如果我遗漏了一些重要信息,请询问,我会提供。

最佳答案

所以事实证明是 Affiliate Window 有问题,这让 PhantomJS 崩溃了。我们的解决方案是在我们的测试环境中禁用它,因为它是第 3 方。遗憾的是没有有用的错误消息。

我们是如何发现这个的...

好吧,我在 Poltergeist 中使用了远程调试器,它在检查器控制台中清晰地提取了错误。

要配置这个,请看这个 link

关于javascript - 我的测试现在因 SyntaxError: Parse error (Capybara::Poltergeist::JavascriptError) 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249188/

相关文章:

javascript - JSP 页面中的 FlexBox

ruby - 一个简单的 Ruby 脚本卡住了我的机器

ruby - 如何安装Nokogiri?

ruby - 使用 capybara cucumber 选择多项选择中的所有选项

ruby-on-rails - 编写 rspec/capybara 测试的正确方法?

ruby-on-rails - 如何在不删除 `test` 数据库数据的情况下测试 JavaScript?

javascript - 如何根据另一个部分的计算宽度设置一个部分的宽度?

php - 将数据从 php 传回 ajax

javascript - 以优雅的方式根据模型的属性迭代 Backbone 集合

Ruby 扫描/获取直到 EOF