问题标签 [capybara]

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 投票
2 回答
1711 浏览

cucumber - Rails 集成测试

我正在为已经构建的 Rails 3 应用程序设置一堆集成测试。该应用程序是使用 Rails 3 和 Ruby 1.9.2 构建的。我已经看到有关 Capybara、Cucumber 和 RSpec 2 的建议,但我不确定它们各自的优势是什么。

我还注意到它们似乎紧密相连。我看到的帖子似乎总是在谈论将 Capybara 与 Cucumber 一起使用,或者将 Rspec 与 Cucumber 一起使用。

他们每个人的优点/缺点是什么?是否有某些组合最适合一起使用?

0 投票
1 回答
848 浏览

cucumber - Capybara 没有按名称找到提交按钮

我在尝试从 webrat 切换到 capybara 时发生了一些奇怪的事情。错误是这样的:

我的应用程序中的 html 如下所示:

我原以为 capybara 会查看value页面上的按钮,并且阅读文档似乎确实如此,但它不起作用!如果我将 cuke 文件中的行更改为And I press "floob_submit"一切正常,但我宁愿不更改所有功能......

有没有人对为什么会发生这种情况以及是否有修复有任何想法?谢谢朋友!

0 投票
1 回答
791 浏览

rspec - Rails3:使用 Capybara 进行测试时如何使用 UTF-8

我使用 Rails 3、Capybara 0.4.0、Akephalos (https://github.com/sorentwo/akephalos) Selenium-webdriver 和 Rspec 2。我使用 ruby​​ 1.9

我有以下规格:

如果我使用 Selenium 作为驱动程序,一切正常。但是当我使用 Akephalos 时,我得到:

这意味着数据库中没有具有该名称的模型。它没有被保存。问题是,它被保存了,但是使用了非 utf 字符。

如何确保使用 utf?

0 投票
1 回答
1039 浏览

ruby-on-rails - 带有水豚步骤定义的黄瓜,用于检查体内某些类的存在

我需要定义一个步骤定义来检查网页的正文标记中是否存在某个类。

例如<body class="home">

我想测试“家”是否是一类身体。

请记住,body 也可能包含其他类

例如<body class="active home etc">

谢谢你的帮助。

0 投票
3 回答
4587 浏览

ruby-on-rails - 使用 capybara 和 selenium 获取要显示的 Rails 异常

在使用 capybara 和 selenium 在 rails 中运行集成测试时,如果引发异常,则会显示一个空白页,而不是通常的带有堆栈跟踪的异常屏幕。有没有办法让 capybara 显示堆栈跟踪页面?

0 投票
7 回答
11072 浏览

ruby-on-rails-3 - 使用 capybara 和 rails3 进行 Rspec 视图测试

我真的很喜欢 RSpec 能够分离控制器和视图测试的方式,但是在让 capybara 匹配器在视图测试中工作时遇到了一些问题。我基本上试图实现的是这样的:

我在网上看到了一些帖子,展示了如何配置 capybara 和 rails3 以与 cucumber 或 rspec 控制器测试顺利工作,但这并不是我真正想要的——也就是说,在可能的最低级别测试视图。

此外,如果有另一种方法来做到这一点(不需要大量自定义代码,因为我知道我可以编写一些匹配器,从使用 nokogiri 或任何合适的工具渲染中提取给定的选择器),那也很好 - 使用 capybara 不是必需的.

0 投票
2 回答
990 浏览

ruby-on-rails-3 - 黄瓜点击仅在使用@javascript 时有效?

我知道有一个简单的解决方法,但对于我的生活,我不记得它是什么。

我的功能文件如下:

我已经将“编辑”步骤定义如下:

它所处理的索引页面的 HTML 如下:

然后是 HTML 表单:

事实上,它不起作用 - 我收到以下错误:

但是表单元素“名称”显然在页面上。

如果我在“填写”之前添加“然后显示页面”,那么水豚会保存索引页面,导致我认为它根本没有进入编辑表单。

... 然而,如果我将“@javascript”标签添加到该功能,它可以完美运行,即使此页面上没有 Javascript。

我以前解决过这个问题,但是对于我的生活,我无法弄清楚如何......

0 投票
6 回答
5839 浏览

ruby-on-rails - 使用 Capybara 测试多域 Rails 3 应用程序

我想测试我的多域 RoR3 应用程序。

这是我的 test_helper.rb

还有我的集成测试:

而且我确定链接存在。单击和填充内容存在问题。

也不行。

我认为默认 Capybara 的驱动程序 Rack::Test 可能对这个多域的东西有问题?

0 投票
2 回答
2301 浏览

ruby-on-rails - 使用 Capybara 和 Rails 3 维护会话

我有两个 capybara 测试,第一个是登录用户,第二个是为了测试仅对登录用户可用的功能。

但是,我无法让第二个测试正常工作,因为会话没有在测试中得到维护(显然,它应该是)。

save_and_open_page 调用生成的页面是全局登录屏幕,而不是我期望的管理主页(注册登录)。我在这里做错了什么?

0 投票
1 回答
1293 浏览

ruby-on-rails - 黄瓜水豚它是如何工作的

我在我的 rails3 应用程序中使用水豚和黄瓜。一切正常。但是我不明白测试是如何工作的。

假设我有一个标准的黄瓜功能测试。我没有使用@selenium 等。这是一个普通的测试。现在当我跑

该rails服务器是否在端口上启动?如果是,那么端口号是多少?同样在普通香草案例中,水豚使用机架测试。但是 rack-test 不负责运行服务器。所以我很困惑整个事情是如何运作的。黄瓜在扮演什么角色。机架测试在做什么工作,水豚在做什么。

如果您有文章的链接,请与我分享。我真的很想知道事情是如何协同工作的。