问题标签 [poltergeist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
643 浏览

ruby-on-rails - 使用 poltergeist、rspec、capybara、spork guard 和 rails 3.2.12 登录子域

我无法让我的测试在子域上登录用户。

更新

我再次尝试使用 selenuim。现在我在 test.log 中得到了这个错误。

我猜测 thespec_helper.rb和 therails s -e test -p 3001都在不同的步骤上弄乱了测试数据库,这让 postgresql 痛苦地哭了出来。

但是,如何在不需要在测试环境中启动 rails 服务器的情况下在需要身份验证的子域上测试 javascript?

原始问题

这个规范给了我

这个错误

当我不使用时,js: true一切都很好。但是,poltergeist 和 phantomjs 无法登录。

spec_helper

0 投票
1 回答
330 浏览

exception - 在 Poltergeist 中未处理的异常测试失败

当我向 application.js 添加一些垃圾时,我从 Poltergeist 收到以下错误:

但是,当我只是抛出异常时,它会被忽略(并且由于缺少页面功能而导致测试失败)。如果页面有未处理的异常,我可以让 Poltergeist 失败吗?或者至少发出警告?

0 投票
1 回答
251 浏览

poltergeist - 我可以用 execute_script 修补 phantomjs 浏览器 api 吗?

我试图测试一个禁用了一些原生 JavaScript 功能的应用程序,例如 querySelector ...

所以我认为这可能会在致电访问之前起作用:

但它不起作用,关于我如何实现这一目标的任何想法?

干杯约翰

0 投票
1 回答
1127 浏览

ruby-on-rails - RSpec、Capybara 和带有 rails 的 ajax 请求

所以我认为 javascript 方法看起来像这样:

天气是我的应用程序中的控制器方法。我将如何处理响应,所以当我运行测试时,它可以工作?这是我的测试的样子:

这是视图的简化版本/dashboard/RSF/pv

我究竟做错了什么?我的测试失败了,但它在浏览器中运行良好。

0 投票
3 回答
4790 浏览

ruby-on-rails - Capybara、Poltergeist 和 Phantomjs 并在正文中给出空洞的回应

我从 phantomjs 得到一个空文档。我正在尝试使用 Capybara 和 Poltergeist 为 Capybara 设置 phantomjs 驱动程序。

我如下创建了一个模块,并将其包含在需要连接的文件中。

然后,加载页面如下:

然后,最后,调用 load_page

这是来自 poltergeist 的调试响应

如您所见,响应只是一个空白文档,只有 html、head 和 body 标记,而 body 标记中没有任何内容。

我在做什么错?观察网络流量,我从主机(在这种情况下为 smashingmagazine.com)得到了完整的响应。在响应回来之后,我不知道发生了什么。有时 phantomjs 也会崩溃,而在其他情况下,它会通过空的身体。这是 phantomjs 崩溃时在 STDERR 上打印的最后一行

0 投票
4 回答
13679 浏览

capybara - 使用 Capybara 和 Poltergeist 驱动程序将文件下载到特定文件夹

我正在使用 Capybara 和 Poltergeist 驱动程序编写验收测试。我需要验证下载的 CSV 文件的内容。

  1. 我尝试了各种方法来呈现页面本身的内容,而不是下载它。
  2. 还尝试更改 mime 类型,但它不起作用。

最后,我想选择将文件下载到特定文件夹中,然后使用核心 ruby​​ 库读取 CSV 文件。

为了实现这一点,当 poltergeist 驱动程序单击下载链接时,我希望它处理弹出窗口并直接在给定文件夹中下载文件。

在 Selenium 的 chrome 和 firefox 驱动程序中,我可以选择配置配置文件来处理弹出窗口和配置下载目录。

使用 poltergeist 有没有这样的选择?任何信息都会有所帮助。

0 投票
2 回答
748 浏览

ruby - 使用 Filepicker.io 和 Capybara 进行功能测试

我目前正在对 Filepicker.io 上传表单进行功能测试,但无法让文件上传正常工作。我正在为 Capybara 使用Poltergeist驱动程序,并且从我能够进行的调试中,Filepicker iframe 永远不会加载。我已经通过使用 Poltergeist 的远程调试确认了这一点。

这是测试代码的示例:

并产生错误:

尝试通过 javascript 控制台手动触发 Filepicker 也不会产生任何结果。

0 投票
1 回答
767 浏览

cucumber - 切换到 Poltergeist 时出现 NotImplementedError

我有这个与 Selenium 一起使用的黄瓜步骤定义,但是当我使用poltergeist驱动程序NotImplementedError尝试它们时我得到了。

phantom.js 已安装,我什至可以从看起来正确的步骤定义中截取屏幕截图。我正在测试一个 Ember.js/Rails 应用程序。看到它正确地访问了页面,但是当我尝试查找链接时它失败了。

确切的错误是这样的:

0 投票
1 回答
226 浏览

capybara - Poltergeist Rspec If-None-Match If-Modified-Since 标头

我有一个功能规范,可以向同一个 url 发出两个访问请求。预期的行为是第二​​个请求应该返回 304。但是这并没有发生。我已经设置了 phantomjs_options: ['--disk-cache=true'] 但这似乎没有达到预期的效果。是否需要配置其他一些设置以使用 If-None-Match 和 If-Modified-Since 标头?

下面的一个例子:

谢谢,

0 投票
1 回答
1245 浏览

javascript - 使用 phantomjs 无头运行 jasmine 规范

我一直在使用 jasmine-headless-webkit 在我的 Rails 3.2 应用程序上运行我的 jasmine 规范,但我最近切换到 phantomjs/poltergeist 来运行我的请求规范,所以我需要升级我的 jasmine 测试以在 phantom 上运行。我不想在我的 CI 服务器上使用 xvfb。

有没有人有任何在控制台中使用 phantom 运行 jasmine 测试的好方法?我在网上发现的关于它的信息令人惊讶地少。