Tag: 水豚

如何在使用selenium时禁用firefox中的加载项

我在我的Rails项目中使用Capybara selenium(在Ubuntu 10.04系统上),我刚刚运行我的测试firefox加载时升级了firefox,但它现在安装了所有的附加组件,它等到我设置每一个都是第一次。 有没有办法在启动selenium时禁用所有这些附加组件? 要么 有没有办法设置我的所有加载项并保存设置,以便每次运行测试时都不会提示我? 更新 如果我将其更改为使用chrome,它可以正常工作。 Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new(app, :browser => :chrome) end Capybara.javascript_driver = :selenium 我想用firefox做测试。 我在firefox下设置了一个’test’配置文件并尝试使用以下内容: Capybara.register_driver :selenium_firefox_custom do |app| Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => “test”) end Capybara.default_driver = :selenium_firefox_custom 哪个不起作用,它仍然试图加载我的默认配置文件。 我正在使用水豚的git版本; capybara (1.1.2) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) selenium-webdriver (~> […]

Capybara,Devise,CanCan和RSpec集成测试:有效签到302重定向到example.com

更新:请参阅文章的结尾,了解规范现在如何工作,我的规格/请求中的规格而不是规格/控制器。 仍然想知道如何获得一个有效的登录用户与我的控制器进行集成测试。 我第一次使用Devise和CanCan,并且很难进行最基本的集成测试,我正在validation登录的用户是……好……登录。我已经阅读了无数post和处理Devise和RSpec集成测试的答案(即通过https://github.com/plataformatec/devise/wiki/How-To%3a-Test-with-Capybara,http:// schneems直接访问会话来加速它们.com / post / 15948562424 / speed-up-capybara-tests-with-devise ,以及Capybara,RSpec和Devise:通过绕过慢速登录和直接设置会话,可以更快地进行集成测试吗?但我一直无法做到得到一个标准的工作按预期工作,我很困惑: 开发环境工作正常(可以登录并重定向到正确的页面,导航登录链接更改为注销等)。 test.log表示没有问题,直到302重定向到http://www.example.com而不是我的root_path。 对于具有不同解决方案的类似问题的大量用户,我显然不是唯一一个遇到此问题的人,因为会话的各个方面等在不同场景中不可用。 剥离测试: subject { page } describe ‘should be able to log in’ do before do visit ‘/users/sign_in’ user = FactoryGirl.create(:admin) #user.add_role :admin fill_in ‘Username’, with: user.username fill_in ‘Password’, with: user.password click_on ‘Sign in’ end it { should have_link ‘Logout’ } end […]

为什么我的Cucumber测试在使用Selenium时失败了?

我正在测试一个带有Cucumber / Capybara组合的Rails 3应用程序。 我也试图使用Selenium来测试一些特定于JavaScript的场景,但遇到了我不明白的奇怪困难。 我在Cucumber / Capybara的经历非常低,我对Selenium的经验是零。 这是场景: Scenario: Browsing events Given many events exist And I am on the events page Then I should see a list of 15 events When I follow the first event Then I should be on the event page And I should see a google map And I […]

如何解决Capybara :: ElementNotFound错误

我遇到了以下问题,这是我第一次使用水豚,请你知道如何解决这个问题,谢谢 我使用rails 3.0.0和以下gem gem ‘rails’, ‘3.0.0’ gem ‘capybara’ gem ‘database_cleaner’ gem ‘cucumber-rails’ gem ‘cucumber’ gem ‘rspec-rails’ gem ‘spork’ gem ‘launchy’ 我在Senario中有以下内容 When I go to the new customer page And I fill in “Email” with “john@example.com” 在我的customer_steps.rb我有 When /^I fill in “([^”]*)” with “([^”]*)”$/ do |arg1, arg2| fill_in arg1, :with => arg2 end 在我看来 – […]

除了在Rails测试中使用Capybara和RSpec之外,Steak还能添加什么?

我正在努力了解牛排的必要性。 我得到它像Cucumber,除了你可以使用纯ruby而不是像Cucumber一样将你的英语语言规范映射到ruby,但是它说它主要是在RSpec DSL周围增加一个包装,并让你使用它 取自: http : //jeffkreeftmeijer.com/2010/steak-because-cucumber-is-for-vegetarians/ module Spec::Example::ExampleGroupMethods alias scenario example alias background before end module Spec::DSL::Main alias feature describe end 这就是全部? 我从例子中可以看出,你仍然在使用Capybara和RSpec匹配器进行繁重的工作。那么为什么不直接使用Capybara和RSpec而不是在它上面添加像Steak这样的复杂function呢? 英语语言接受规范描述是唯一的价值主张,还是我错过了其他什么? 谢谢

使用Capybara进行AJAX集成测试

我正在使用Capybara进行rails集成测试。 说到AJAX请求,我收到以下错误: Capybara::TimeoutError: failed to resynchronize, ajax request timed out 知道什么是错的,以及如何解决这个问题?

如何在Rails / Capybara / Cucumber或Rspec中测试post

我正在使用rspec,黄瓜和水豚,我正在寻找一种方法来测试恶意用户无法破解表单然后发布到他/她没有权限的url。 我已经在cancan中设置了我的权限,这样“应该”可以工作,但是,我可以测试它的唯一方法是自己黑客攻击表单。 如何自动进行此类测试? 有了webrat,我可以用rspec进行unit testing put :update, :user_id => @user.id, :id => @user_achievement.id response.should contain(“Error, you don’t have permission to access that!”) 然而,在水豚中,访问只是看起来似乎。 我找不到办法做到这一点,我已经google了无处不在。 任何帮助将不胜感激,谢谢

Capybara,RSpec和Devise:通过绕过慢速登录和直接设置会话,可以更快地进行集成测试吗?

对于几乎所有集成测试,用户必须登录到Devise。 这需要花费很多时间,所以我想知道是否有办法设置用户会话而无需访问登录页面,输入详细信息,然后按登录按钮。 也许在Devise中内置了一个辅助方法,可以立即签署一个给定的用户? 非常感谢您的帮助。

测试Web应用程序与Cucumber的Facebook集成

我想通过执行以下场景来使用Cucumber和Capybara来测试我的Rails应用程序的Facebook注册过程: @javascript Scenario: Connect account When I go to the home page And I press “Connect your Facebook account” And I fill in “test@address” for “Email” And I fill in “test” for “Password” And I press “Login” And I press “Allow” Then I should be on the dashboard page 人们如何解决基于浏览器的Facebook集成的集成测试问题? 网络搜索只显示了几个早于图API的博客文章,他们似乎只讨论实现一个前提条件,即设置一个代表已登录到Facebook的用户的环境。 要解决的一些具体问题: 如何模拟单击元素? 我想出的最好的事情(但尚未测试)是手动触发元素上的click事件。 一旦Facebook对话框出现,Capybara可以访问它吗? […]

Rails,Cucumber,Capybara:会话不会持续存在

我正在尝试为依赖于某些会话存储数据的function编写测试,我的场景如下所示: Scenario: Create offer Given I am on the start offer page When I select “Foo” from “bar” And I press “Go on” Then I should see “You are going to offer foo” 通过使用我发现的调试器,信息正确地存储在会话中,但是在每个新请求中我都会获得一个新的会话。 至少在每个场景中都不应该有工作会话吗? 任何想法为什么不是这样的? 在此先感谢,乔 版本:在轨道上运行2.3.10,黄瓜0.10.0,黄瓜轨道0.3.2,水豚0.4.1.2