follow me icons

Friday, August 30, 2013

did not find expected key while parsing a block mapping at line 1 column 1

I get the following error when running cucumber, ruby, capybara with selenium webdriver

It turns out that in my config.yml (features/support/config.yml) I have an extra space:

"
test_server:
  base_url: http://192.168.1.10/test/
 
 test_server2:
  base_url: http://192.168.1.4/test/
"
which should be:
"
test_server:
  base_url: http://192.168.1.10/test/
 
test_server2:
  base_url: http://192.168.1.4/test/
" (no space on "test_server2")

D:\work\cucumber>bundle exec cucumber features\regression\search.feature
(<unknown>): did not find expected key while parsing a block mapping at line 1 column 1 (Psych::SyntaxError)
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:206:in `parse'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:206:in `parse_stream'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:289:in `load_stream'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych/deprecated.rb:28:in `load_documents'
D:/work/cucumber/features/support/lib/configuration.rb:11:in `load'
D:/work/cucumber/features/support/lib/configuration.rb:22:in `<top (required)>'
D:/work/cucumber/features/support/env.rb:12:in `require'
D:/work/cucumber/features/support/env.rb:12:in `<top (required)>'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/rb_support/rb_language.rb:122:in `load'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/rb_support/rb_language.rb:122:in `load_code_file'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime/support_code.rb:180:in `load_file'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime/support_code.rb:82:in `each'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime/support_code.rb:82:in `load_files!'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime.rb:183:in `load_step_definitions'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/runtime.rb:42:in `run!'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/lib/cucumber/cli/main.rb:47:in `execute!'
D:/work/cucumber/vendor/ruby/1.9.1/gems/cucumber-1.3.1/bin/cucumber:13:in `<top (required)>'
D:/work/cucumber/vendor/ruby/1.9.1/bin/cucumber:23:in `load'
D:/work/cucumber/vendor/ruby/1.9.1/bin/cucumber:23:in `<main>'

Tuesday, May 7, 2013

Capybara Hover Over Element

To emulate mouse hover with Capybara use the following method:

find(:css, "#menu_bar").hover

I am using capybara (2.1.0) and selenium-webdriver (2.32.1)

Wednesday, September 5, 2012

Frame in Capybara

To access the element in a frame or iframe using capybara use the following within method

  within_frame('iframex') do
    fill_in "email", :with => random_email
  end

Wednesday, August 22, 2012

Ignore browser untrusted security certificate

To ignore the browser untrusted security certificate so that the cucumber test can be run in the test environment you can modify the env.rb to ignore the warning:
require 'selenium/webdriver'

Capybara.register_driver :selenium do |app|
   profile = Selenium::WebDriver::Firefox::Profile.new
   profile.assume_untrusted_certificate_issuer = false
   Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end