我开始迁移从黄瓜+ webrat到黄瓜+水豚。现在的“我要见”的行为似乎有些不同。大多数这些现在失败了,但我没有改变任何页面上。我换成应该与一些东西,在每个页面上的一些文字它的工作原理,并在其他文本它不被发现的片段。我找不到在什么是在页面的内容中找到的任何模式,什么不是。 Webrat用于打印的页面内容是什么,它发现,如果它不包含所需的短语。反正有水豚表演它从它试图找到文本的页面得到了什么文字?

有帮助吗?

解决方案

尝试增加此步骤:

Then show me the page

其他提示

Then show me the page调用webrat /水豚的底层save_and_open_page方法。与牛排工作时发现,有用的。

如果你想有当页面出现故障时使用“launchy”宝石浏览器中打开的页面。 它添加到您的宝石文件,然后在/功能/支持创建一个名为debugging.rb文件,内容:

After do |scenario|
   save_and_open_page if scenario.failed?
end

如果你在你的页面中使用JavaScript或Ajax和想看看发生了什么事情,我发现,骚灵司机是让你进入DOM,并找出哪些地方出了错非常好。

如果你设置你的水豚的驱动程序与远程调试选项:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, inspector: true)
end

您可以然后把下面一行在你的步骤:

page.driver.debug 

时触发了当前的DOM状态设置新的Chromium浏览器,让你在控制台上。 (在我的Linux版本,我不得不符号链接铬铬浏览器,但它以其他方式工作得很好)。

源信息: http://jonathanleighton.com/articles/2012/poltergeist-0-6 -0 /

Then show me the response并没有为我一起工作的黄瓜1.1 的我发现使用水豚的命令写了一步有用的:

print page.html

此输出DOM的当前状态

您也可以使用“那么告诉我响应”,这将HTML输出到控制台,如果你不想使用浏览器。

您总是可以采取它的屏幕截图,当事情失败。我调试故障的功能,方式的LOT。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top