Tag: 水豚

如何使用Cucumber来测试非Ruby,非Rack API

我用黄瓜做很多事情。 我非常喜欢它作为BDD环境。 因此,我想将其用作测试API的外部工具。 我想做的事情如下: Scenario: Hit api /info path and get info back When I visit the API path ‘/info’ Then I should see the following text “Here’s info on the API” 或类似的东西。 我主要想将API视为黑盒子,只测试输入和输出。 我不打算检查API中的任何内容。 我看过的与Cucumber(例如Capybara)合作的大多数库似乎是基于基于Rack的应用程序设计的。 我想要类似的东西,但不依赖于Rack。 存在哪些没有机架依赖性的gem(如果有的话)。 或者有没有办法使用Capybara来测试远程服务器上的API?

与黄瓜轨道的数据库清洁交易

我正在为注册表单编写一个场景。 @abc @selenium Scenario:Non registered user signs up Given I am on the sign-up page When I fill in the following: |first_name|Anidhya| |last_name|Ahuja| |email|anidhya@gmail.com| |password|123456| And I press “submit” Then I should see “Registration complete” 我希望在此方案之后使用数据库清理程序回滚测试数据库,以便我可以一次又一次地使用此方案。 对于我在env.rb文件中的内容,我写道: begin require ‘database_cleaner’ require ‘database_cleaner/cucumber’ DatabaseCleaner.strategy = :transaction Cucumber::Rails::World.use_transactional_fixtures = true rescue NameError raise “You need to add […]

如何在Capybara集成测试中访问stdout或stderr

我正在尝试调试一些Capybara集成测试并遇到意想不到的问题。 当我在Capybara测试中设置断点时,我可以检查变量,但我不能调用puts或$stdout.puts或$stderr.puts 。 要明白我的意思,看看这个输出: (rdb:1) “foo” “foo” (rdb:1) puts “foo” nil 据推测,这是因为Capybara捕获stderr和stdout作为其标准操作的一部分,以便与selenium驱动程序等保持安静。我明白了,但问题是检查ruby调试器中的字符串会逃脱换行符,这使得它无法实现读取HTML等长格式化字符串。 如何使用IO#puts获取对活动终端的引用以输出用于调试目的的内容?

黄瓜测试中的cookies使用水豚

作为我对网站的集成测试的一部分,我使用黄瓜和水豚。 似乎水豚不能模仿cookies的使用。 例如,我在用户登录时设置cookie: def sign_in(user) cookies.permanent.signed[:remember_token] = [user.id, user.salt] current_user = user end 但是当我稍后使用cookies获取cookie的值时,它会返回{}这是一个已知的水豚限制吗? 如果是这种情况,如何在多个请求中测试已登录的用户? 我应该添加我的测试: Scenario: User is signed in when they press Sign In Given I have an existing account with email “bob@jones.com” and password “123456” And I am on the signin page When I fill in “Email” with “bob@jones.com” And I fill […]

如何在spec_helper.rb中为Capybara Webkit设置ignore_ssl_errors选项

在我的spec_helper文件中,我有: Capybara.javascript_driver = :webkit ignore_ssl_errors现在有一个我想要使用的ignore_ssl_errors选项。 如何在spec_helper中指定?

我可以使用Selenium IDE生成Cucumber / Capybara步骤吗?

我已经安装了Selenium IDE(Firefox插件)和Capybara(gem)。 我现在正在我的rails应用程序中从Cucumber / Capybara步骤(@javascript)驾驶Selenium。 问题是: 我可以将Selenium IDE步骤导出为Cucumber / Capybara步骤吗? 在Selenium IDE选项>格式中我只能看到Ruby(Test :: Unit)和RSpec,但是拥有Capybara格式也很棒 。 谢谢。

selenium / capybara – 无法加载Firefox个人资料

当我使用selenium运行测试时,浏览器会反复弹出声明无法找到firefox配置文件。 我准备了一个与selenium一起使用的Firefox配置文件我只是不确定如何告诉selenium该配置文件所在的位置。 如何告诉Selenium使用哪个firefox配置文件?

如何找到Dragonfly with Cucumber / Capybara生成的图像?

在如何使用Cucumber / Capybara在页面上找到图像的解决方案的评论中,有人问: 我似乎无法想象如何使用Dragonfly生成的URL。 它们看起来像这样:/media/BAh_some_long_string_AwIw/12_11_52_810_5x5.jpg?s=7e360000,其中5×5.jpg是我的文件名。 我尝试过类似:// img [@src =“/ media / / #{image}?s = *”]但它不起作用。 有什么提示吗? – Ramon Tayag 2月25日凌晨 4点18分 我有一个类似的问题,只是更糟糕 – 在我的情况下,生成的图像路径甚至不包含(jpg | png | gif)文件名,它们只有这些非常长的ID: (使用蜻蜓和mongo / gridfs) 这些路径渲染得很好,但我无法弄清楚如何在Cucumber / Capybara步骤中找到它们:P 有任何想法吗? 我查看了Dragonfly的function ,但是他们只测试了图像本身的渲染,而没有检测到它在html页面中的存在。

如何在运行Capybara时配置puma?

我想在运行Capybara测试时调整puma配置。 更改.env,.env.test(我使用dotenv )或config / puma.rb中的设置无效。 我在哪里可以更改配置? Rails 5.1,poltergeist 1.15.0,capybara 2.14.0,puma 2.8.2

黄瓜:找到带有标签文字X的输入?

在Cucumber中,我正在尝试创建这样的步骤: Then I should see “Example business name” in the “Business name” input 我希望将“商家名称”输入定义为“标签有文字的输入”商业名称。“ 这是我到目前为止所做的步骤: Then /^I should see “([^”]*)” in the “([^”]*)” input$/ do |content, labeltext| # Not sure what to put here end 在jQuery中,我会查找带有该文本的标签,查看其“for”属性,并找到带有该id的输入。 但到目前为止我在Cucumber中看到的唯一选择器是这些: within(“input:nth-child(#{pos.to_i}”) 和 page.should have_content(‘foo’) 任何人都可以使用Webrat / Capybara选择器语法建议解决方案吗?