Oim Trust
Oim Trust

Reputation: 21

How to fix Parser Error in gherkin when I write the code with ruby for automate test

I created search.feature and search.rb files to build automatic testing. After that, I run with the command on the terminal and get an error. How to fix it?

I've tried on Linux subsystem on windows with Ruby 2.6.1 and Cucumber 3.1.2

This is the code of search.feature file :

    The google homepage allows user to perform a search.

    Scenario Outline: Users can perform a search on Google
        Given I open the Google search page
        When I search for "<search>"
        Then I should see the results page

    Examples :
        | search    |
        | baju      |
        | bola      |
        | indonesia |

And this is the code of search.rb file :

Given /^I open the Google search page$/ do
    visit "/"
end

Given /^I search for "(.*?)"$/ do |search_term|
    @page_search = SearchPage.new
    @page_search.search(search_term)
end

Then /^I should see the results page$/ do
    expect(@page_search).to have_search_field
end

After that, when I run the command on the terminal I get an error like this :

➜  cucumber-native cucumber
features/scenario/search/search.feature: Parser errors:
(9:2): expected: #EOF, #TableRow, #DocStringSeparator, #StepLine, #TagLine, #ExamplesLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got 'Examples :' (Cucumber::Core::Gherkin::ParseError)
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:34:in `rescue in document'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:28:in `document'/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:30:in `block in parse'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `each'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `parse'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:21:in `compile'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/lib/cucumber/runtime.rb:75:in `run!'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/lib/cucumber/cli/main.rb:34:in `execute!'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/bin/cucumber:9:in `<top (required)>'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/cucumber:23:in `load'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/cucumber:23:in `<main>'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `eval'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `<main>'



Upvotes: 0

Views: 5132

Answers (1)

Aleksei Matiushkin
Aleksei Matiushkin

Reputation: 121000

Examples section must be nested within Scenario

Scenario Outline: Users can perform a search on Google
    Given I open the Google search page
    When I search for "<search>"
    Then I should see the results page

    Examples:
        | search    |
        | baju      |
        | bola      |
        | indonesia |

Upvotes: 1

Related Questions