ruby - Cucumber parser error -


here directory structure:

c:\work\test scripts\cucumber\features features\guru.feature features\step_definitions

  • \step_definitions\step-guru.rb

so running command cucumber step_definitions still see error below:

c:\work\test scripts\cucumber\features\step_definitions>cucumber *** warning: must use ansicon 1.31 or higher (https://github.com/adoxa/ansic on/) coloured output on windows no such file or directory - features. can use cucumber --init start ed.

c:\work\test scripts\cucumber\features\step_definitions>cucumber step-guru.rb *** warning: must use ansicon 1.31 or higher (https://github.com/adoxa/ansic on/) coloured output on windows step-guru.rb: parser errors: (3:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'given (/^ on career site dot com page$/) do'

here feature file:

feature: visit career guide page in career site scenario: visit career site dot com     given  on http://some career site dot com/     when click on jobs tab      should see jobs page 

and here .rb file run code:

given (/^ on career site demo page$/)   browser.goto "career site"  end  when (/^ click on jobs tab$/)   browser.text (:name, "jobs" ).click  end  (/^ should see jobs page$/)   browser.goto "jobs site/"   puts "successful page load"   browser.close end 

i getting below cucumber parser error. can please see , me solve this?

c:\work\test scripts\cucumber\features\step_definitions>cucumber step-guru.rb *** warning: must use ansicon 1.31 or higher (githubsite of ansicon) coloured output on windows step-guru.rb: parser errors: (3:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'given (/^ on career site demo page$/) do' (5:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'browser.goto "http://some career site dot com"' (7:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'end' (11:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'when (/^ click on jobs tab$/) do' (13:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'browser.text (:name, "jobs" ).click' (15:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'end' (19:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'then (/^ should see jobs page$/) do' (21:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'browser.goto "http://some career site dot com/jobs/"' (23:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'puts "successful page load"' (25:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'browser.close' (27:1): expected: #language, #tagline, #featureline, #comment, #empty, got 'end' (cucumber::core::gherkin::parseerror) c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core/gherkin/parser.rb:34:in `rescue in document' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core/gherkin/parser.rb:29:in `document' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core.rb:27:in `block in parse' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core.rb:26:in `each' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core.rb:26:in `parse' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-core-1.3.0/lib/cucumber/core.rb:18:in `compile' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-2.1.0/lib/cucumber/runtime.rb:70:in `run!' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-2.1.0/lib/cucumber/cli/main.rb:32:in `execute!' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/cucumber-2.1.0/bin/cucumber:8:in `<top (required)>' c:/ruby200-x64/bin/cucumber:23:in `load' c:/ruby200-x64/bin/cucumber:23:in `<main>' 

you're calling cucumber wrong way:

cucumber step-guru.rb 

cucumber tries interpret steps definition file features file - instead, should run cucumber top-level directory as

cucumber 

provided project layout this:

top/         features/        first.feature      steps/        first_step.rb 

Comments