问题标签 [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.
ruby - 重定向后 Cucumber/Capybara 返回“未找到”页面
首先,抱歉英语不好。
我有一个提交登录表单的测试。重定向后,当我测试消息“成功记录...”时,我的 page.body 是
'<h1>Not Found</h1>'
但这在浏览器手动测试中非常有效。
我应该做错什么?
ruby-on-rails - 如何使用 Capybara(或 Webrat,我猜)和 Cucumber 检查单词的多次出现?
我知道这/Interface \d/
在页面上发生了 3 次。但我不知道如何在 Cucumber 中使用 Capybara 进行测试。这是我的第一次尝试:
但是,这对我的Then I should see /Interface \d+/ 3 times
.
我发现这是因为has_xpath
使用all
. 把它放在我的测试中:
结果是
所以我在计算包含我的文本的元素的每一步。:-\
我想也许has_content
会救我,但它不接受计数。
帮助!
selenium - 如何让黄瓜/硒运行瘦服务器而不是 Webrick
我必须在哪里设置或配置以触发 cucumber/selenium 测试以运行瘦服务器而不是默认的 Webrick 服务器?
ruby - 使用黄瓜/水豚时是否有类似于硒网格的东西?
所以我试图建立一个像硒网格一样的环境:
1)它在一组分布式客户端上并行运行测试
2)我可以指定要在特定客户端上运行的测试(这些客户端正在运行不同的操作系统,使用不同的浏览器),或在所有客户端上运行一次的测试或其任意组合。
问题是 capybara 目前实际上使用的是 WebDriver,而不是 selenium,所以据我所知,我无法为测试指定一个 selenium 网格来连接并让它工作。
我研究过诸如DeepTest和Testjour 之类的东西,但都没有抓到上面的两个痒处。我希望有一种方法可以用我希望它运行的浏览器来标记黄瓜功能,它就是这样做的,就像 selenium 网格目前所做的那样。有没有一种简单的方法可以做到这一点,而不需要我做很多黑客行为,还是我需要等待 Selenium 2 发布?哦,我应该补充一点,我喜欢保持 capybara 随意更换 Web 驱动程序的能力——在 selenium(或者我想我应该说的 WebDriver)、htmlunit 等上运行。
javascript - 显示 Capybara Javascript 错误的文件名和行号
在我的 Cucumber 步骤中,我使用page.evaluate_script
页面上的 Javascript 进行交互。
我最近遇到了以下错误:
Capybara 在 ruby 代码中给了我 Javascript 错误消息和堆栈跟踪,但没有关于 Javascript 代码中发生此错误的位置的信息。
有没有办法让它显示发生 Javascript 错误的文件名和行号?
javascript - 为什么 Selenium 找不到动态添加的 DOM 元素?
我用 jQuery 添加了一个 DOM 元素(一个链接)。我可以在 Firebug 中看到该元素,但由于某种原因 Selenium 找不到它。这里发生了什么?
注意:不涉及 AJAX,因此几乎立即添加了 DOM 元素。
== 编辑 ==
下面是一些代码(使用 jQuery),将链接附加到文档的末尾:
我正在使用 Capybara(带有 Selenium)来查找链接并单击它,如下所示:
在我开始使用 jQuery 向 DOM 添加元素之前,我对 Capybara 或 Selenium 没有任何问题。
ruby - 有没有人想出一种在多个浏览器/网络驱动程序上运行相同黄瓜场景的方法?
我正在使用 cucumber + capybara 进行一些网络自动化测试。我希望能够连接我自己的标签(类似于场景之前的@all_browsers),并让它针对我设置的网络驱动程序列表(celerity、firefox 上的 selenium、ie 和 chrome)运行。我不想用 4 个不同的标签在 4 个不同的时间编写场景。我已经考虑尝试使用我通过以下方式注册的新驱动程序来做到这一点:
然后跟进:
但我不太确定在可能实际工作的 Before 方法中放入什么。
我试过使用黄瓜钩,特别是:
但这并不像我希望的那样。它使用相同的驱动程序并使用它运行场景两次。
沿着钩线,黄瓜文档中有这个:
You may also provide an AfterConfiguration hook that will be run after Cucumber has been configured. This hook will run only once; after support has been loaded but before features are loaded. You can use this hook to extend Cucumber, for example you could affect how features are loaded...
这可能是一个潜在的途径,但我也没有设法想出任何可以在这里工作的东西。
我已经研究过自定义格式化程序,但它们实际上只是看起来确实是这样做的——格式化输出,而不是指定功能的实际运行方式。
我已经研究过覆盖黄瓜的功能运行器,但这看起来并不容易或友好。
请帮忙?任何人?
ruby-on-rails-3 - RSpec2模型类与Capybara类碰撞
我的项目中有一个名为“Driver”的模型类。在尝试做一些测试后,Rspec 抛出了这个错误:
所以我认为 RSpec 检测类或其他东西的方式存在问题。这是规范(显然简化了):
我正在使用
有人遇到过类似的事情吗?
ruby-on-rails - 如何让 Capybara 使用路由助手
我正在使用rails 3,牛排和水豚。我有宁静的资源,是否可以使用视图和控制器可用的路由助手?