问题标签 [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.
rspec - Capybara:如何通过其 ID 填写输入字段
我有这个:
如何通过 ID 填写该字段?
jquery - 链接不会通过 Cucumber、Capybara 触发任何 jquery 操作
问题是我有一些带有一点 jquery 的 html 页面,当我按下“添加新预订号”链接时,它会触发一些 Jquery 代码,将新的输入文本附加到视图中,当我通过 Web 浏览器对其进行测试时有效,但我在黄瓜功能中有以下步骤:
第 4 步失败,因为单击“添加新预订号”链接时未生成预订 2 标签,但是在第 3 步中,当我手动单击该链接时,新字段已正确生成,所以我没有知道发生了什么
我刚刚解决了 capybara 和 cucumber-rails 的问题,我评论了以下行
因为这个问题https://github.com/jnicklas/capybara/issues/issue/110
我的宝石版本是:
任何人都可以帮助我吗?
ruby-on-rails - 除了在 Rails 测试中使用 Capybara 和 RSpec 之外,Steak 还添加了什么?
我试图了解对牛排的需求。我知道它就像 Cucumber,除了你可以使用纯 ruby 而不是像 Cucumber 那样将你的英语语言规范映射到 ruby,但它说它主要在 RSpec DSL 周围添加一个包装器,并让你使用它
取自:http: //jeffkreftmeijer.com/2010/steak-because-cucumber-is-for-vegetarians/
这就是全部?从示例中我看来,您仍然使用 Capybara 和 RSpec 匹配器进行繁重的工作。那么为什么不直接使用 Capybara 和 RSpec 而不是在其上添加像 Steak 这样的复杂功能呢?英语接受规范描述是唯一的价值主张,还是我错过了其他东西?
谢谢
ruby-on-rails - 使用 selenium 和 xhr post 让黄瓜场景工作的问题
我有一个黄瓜场景来测试一个 xhr 帖子,它返回一些用于修改页面的 js 代码。
我遇到的问题是,当我手动测试它时,它在 FF 或 Chrome 中都能完美运行,但是当我用黄瓜和硒运行它时,它不起作用(使用 firefox)。我做了一些调试,我得到了正确的 js 答案,但它没有被执行,因为它没有根据需要修改页面。
我正在使用 jquery sexy post,负责执行响应的部分在:
似乎 form.trigger("sexyPost.complete", [xhr.responseText]); 没有被执行,如果我发出如下警告:
我可以确认答案确实是正确的。
以前有人遇到过类似的问题吗?
UDPATE
我发现触发器正在执行,尽管它不是对 eval 的调用。
ruby-on-rails - 如何在 Rails 控制器上使用 capybara?
基本上我想抓取一个网站,例如我希望我的应用程序访问 google.com,进行搜索然后获取结果总数。
所以我会使用 capybara 来做到这一点 - 但似乎我无法让它在我的 rails 控制器中工作。
所以要么我使用水豚来抓取一个网站,要么你们可以提出一个更简单的方法?
提前谢谢了。
gwt - UI Test{Capybara + Cucumber]:如何检查特定文本框是否有焦点
您好我目前正在测试页面加载时是否有焦点。我无法找到有关如何执行此操作的任何地方。基本上我想做的是检查页面中的特定元素是否具有焦点。有没有内置的方法来检查这个?
谢谢。
ruby - 如何以较低的速度运行 Selenium(通过 Capybara 使用)?
默认情况下,Selenium 在我使用 Cucumber 定义的场景中运行得尽可能快。我想将它设置为以较低的速度运行,这样我就可以捕获该过程的视频。
我发现一个实例Selenium::Client::Driver
有一个set_speed
方法。这对应于Java API。
如何获取Selenium::Client::Driver
该类的实例?我可以得到尽可能远page.driver
,但返回一个实例Capybara::Driver::Selenium
。
ruby-on-rails-3 - Celerity 无法遵循 Devise 重定向,因为 Celerity 不发送接受标头并且 Devise 以纯文本响应
我们有一个 Rails 应用程序刚刚升级到 Rails3,使用 Devise 的 Rails3 gem 进行身份验证。我们一直在使用 Capybara 和 Celerity 后端来测试一些页面。
在浏览器中访问应用程序时,当用户尝试访问受保护的页面/控制器时,Devise 会以重定向到登录页面的方式进行响应。
在 Rails 2.x 版本的 Devise 中,即使传入的请求有一个空白的接受标头,它也能正常工作*/*
。
在 Rails 3 版本中,当接受标头为空时,Devise 会以纯文本字符串响应。
空白的接受标头很重要的原因是因为我们使用 Capybara 的 Celerity 后端来测试一些页面,显然 Celerity 发送了一个空白的接受标头,因此不会被 Devise 重定向。此行为已从 Devise for Rails 2.x 更改为 Devise for Rails 3。
Celerity 以 UnexpectedPageException 失败,并且服务器日志报告请求是*/*
作为接受标头发出的。
在完全相同的测试套件上使用 Selenium/Webdriver 后端时,问题就消失了。
有两种方法可以解决这个问题:
- 告诉 Devise 以某种方式始终假定 text/html 作为接受标头并做出相应的响应。那怎么可能呢?我们必须覆盖控制器吗?
- “修复” Celerity 以发送 text/html 作为接受标头。如何才能做到这一点?
- 这是一个 HTMLUnit 问题/错误吗?
对我来说,#2 看起来像是解决此问题的“正确”方法,但我不确定 Celerity/HTMLUnit 缺少接受标头是错误还是功能。想法?
ruby-on-rails-3 - 了解水豚和黄瓜如何工作的最佳方式?
我想询问了解黄瓜水豚如何工作的最佳资源。我知道如何使用它们,但有时会出错我只是不知道为什么,我想阅读水豚和黄瓜的源代码,但是没有对它们的工作有一个大致的了解,这有点复杂,所以这是我的问题。您如何充分了解这些东西以了解背后发生的事情,并且使用这样的工具看起来并不像魔术?
问候
javascript - Capybara 和 Javascript onbefoureunload
我有一个带有 onbeforeunload 功能的“ask_a_question”页面,可以在未保存某些内容之前提醒用户(嘿!像 SO :P)。我正在使用带有 capybara 和 webdriver 的 cucumber 对其进行测试,添加 @javascript 标签,因为它使用了大量的 javascript。黄瓜功能可能如下所示:
但是一旦测试通过,Capybara(或 WebDriver,我不知道)会尝试为其他测试重用相同的浏览器窗口,然后会显示 onbeforeunload 警报,使以下测试出错。
因为我的功能本身并没有关闭或退出页面。我认为添加一些内容来接受警报可能不是一个好主意。但老实说,我很迷茫。
如何告诉 capybara 为每个 @javascript 测试使用新的浏览器窗口或自动关闭 onbeforeunload 警报?
谢谢