问题标签 [webrat]

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 投票
1 回答
664 浏览

ruby-on-rails - 使用 Webrat 进行测试时,如何捕获到其他域的重定向?

在我的 Rails 应用程序中,我有一个通过外部服务 Amazon FPS 重定向的表单。表单发布到我的应用程序中的一个操作,该操作重定向到亚马逊,亚马逊收集信息然后重定向回我的应用程序。

我正在用 Webrat 测试这个工作流程。显然我无法测试亚马逊,所以我想检查到亚马逊的重定向是否发生,然后模拟亚马逊重定向回我的应用程序,有效地从测试中模拟出亚马逊。

但是,当 Webrat 提交表单时,它会调用ActionController::Integration::Session#request_via_redirect,它会跟随所有重定向,直到它得到一个不是重定向的响应。这包括重定向到亚马逊。Rails 忽略域并从本地应用程序请求路径,但失败。

我正在寻找的是一种阻止 Webrat/Rails 在其他域上请求 URL 并允许我验证重定向的方法。

0 投票
3 回答
2054 浏览

ruby - 使用 Webrat 进行测试时如何处理 cookie?

我正在使用 Webrat 为基于 Sinatra 的应用程序编写 Cucumber 测试。对于某些测试,我需要实现一个场景,例如

我定义这样的步骤:

成功时会创建一个 cookie

然后在用户尝试通过辅助方法访问管理页面时在视图中进行验证:

而且看起来 Webrat 不存储 cookie。测试不报告任何错误,但“logged_in?” 在视图中总是错误的,就像 cookie 没有保存一样。

难道我做错了什么?如果这正是 Webrat 的工作方式,那么最好的解决方法是什么?

0 投票
4 回答
2467 浏览

ruby-on-rails - 为 JRuby 安装 hpricot

我正在尝试查看 Jruby on Rails 的黄瓜。其中一个先决条件是 webrat,它具有先决条件 hpricot。

我已经使用 hpricot 安装了 gem:

gem install hpricot --source http://code.whytheluckystiff.net --version 0.6.1 --platform java

这将安装 hpricot 的 java 版本。我将 hpricot_scan.jar 添加到 CLASSPATH 但是当我运行时:

我得到以下输出:

等等

如果我编译 HpricotScanService.java 文件并将生成的 .class 文件添加到类路径中,我会得到:

如果我尝试安装更高版本的 hpricot,那么我会得到:

有没有人知道我做错了什么/没有做什么/我在哪里愚蠢。?

使用 Windows XP、JRuby 1.2.0

0 投票
7 回答
2288 浏览

ruby-on-rails - Rails:集成测试thinking_sphinx 与黄瓜和webrat - 我如何索引事务夹具?

我想对我使用的搜索功能进行一些 Cucumber/webrat 集成测试,thinking_sphinx & sphinx但问题是在典型的黄瓜测试期间数据已加载然后在事务中回滚,因此 thinking_sphinx 无法对其进行索引。或者,有没有办法只为一部分测试关闭事务?

你解决了这个问题吗?

[编辑 - 请不要建议模拟搜索结果。我希望集成测试来测试所有功能的集成,包括thinking_sphinx]。

0 投票
3 回答
7407 浏览

ruby-on-rails - 没有黄瓜的Rspec集成测试?

有没有办法在不使用 Cucumber 的情况下使用 Rspec 进行集成测试?我更喜欢只使用普通的旧 Webrat。谢谢。

0 投票
1 回答
1456 浏览

ruby-on-rails - Rails、RSpec 和 Webrat:预期输出与渲染输出匹配,但在视图规范中仍然出现错误

我刚刚开始将 BDD 与 RSpec/Cucumber/Webrat 和 Rails 一起使用,我在试图让我的视图规范通过时遇到了一些挫折。

首先,我使用 Rails 2.3.2、RSpec 和 RSpec-Rails 1.2.6、Cucumber 0.3.11 和 Webrat 0.4.4 运行 Ruby 1.9.1p129。

这是与我的问题相关的代码

配置/路由.rb:

视图/后端/posts/create.html.erb:

规范/视图/后端/posts/create.html.erb_spec.rb:

这是我运行脚本/规范时输出的相关部分:

在我看来,have_selector 正在寻找的正是模板生成的内容,但该示例仍然失败。我非常期待看到我的错误(因为我觉得这是我的错误)。任何帮助深表感谢!

0 投票
1 回答
1096 浏览

ruby-on-rails - ActiveRecord 依赖于 Ruby、Rails、Cucumber 和 RSpec

我们正在编写一个使用 CouchDB 作为其数据存储的 Rails 应用程序。我们正在使用 RSpec 和 Cucumber 进行 BDD/TDD,它使用 WebRat 进行网页测试

我正在尝试将 ActiveRecord 作为 Rails 加载的资源之一删除,但它会导致黄瓜测试失败。我已经删除了所有我能找到的参考资料(夹具、环境文件等),但没有它它仍然会失败。

有人见过这个吗?应用程序运行良好,但测试没有。

编辑

我确实删除了 env 文件中的框架,我还删除了所有事务夹具代码。我们正在使用最新版本的 rspec 和 rspec-rails。

0 投票
8 回答
11736 浏览

radio-button - 如何确定单选按钮是否已被选中?

我正在使用带有黄瓜的 webrat,我想测试当我在页面上时是否已经检查了单选按钮。我怎样才能做到这一点 ?我没有在 webrat 中找到任何可以做到这一点的步骤。

0 投票
1 回答
224 浏览

ruby-on-rails - Webrat 的 RoutingError 问题

我目前正在用 Rails 重写一个网站。我编写了一个将旧静态 URL 映射到新 URL 的模型,并且在应用程序控制器中,我捕获 RoutingErrors 来调用一个方法来查找映射到旧 URL 的新 URL。这在应用程序本身中运行良好;如果我访问http://localhost:3000/home.htm它将重定向到http://localhost:3000/home,但是我无法通过我编写的 Cucumber / Webrat 测试,因为我总是得到一个像这样的错误。

显然,最重要的是代码实际工作,并且它确实在浏览器中正确重定向,但我希望测试也能通过。有没有办法解决这个问题?

0 投票
3 回答
3162 浏览

ruby-on-rails - 黄瓜步骤中的正则表达式

Cucumber 生成了一些简洁的 webrat 正则表达式步骤。我在尝试这个时遇到了问题。

在特点:

在 webrat 步骤中:

遇到的错误:

似乎“Home”之间的括号有问题。如何调整正则表达式以考虑括号?

更新:

似乎正则表达式不是问题,因为“字段”实例变量确实产生了“电话(家庭)”。真正的问题是 webrat 的“ fill_in ”方法解析字段变量的方式。