黄瓜解析器错误
Cucumber parser error
这是我的目录结构:
C:\Work\Test Scripts\Cucumber\features
features\guru.特征
features\step_definitions
- \step_definitions\step-guru.rb
所以 运行从 step_definitions 中调用 Cucumber 命令,我仍然看到如下错误:
c:\Work\Test Scripts\Cucumber\features\step_definitions>黄瓜
*** 警告:您必须使用 ANSICON 1.31 或更高版本(https://github.com/adoxa/ansic
on/) 在 Windows 上获得彩色输出
没有这样的文件或目录 - 功能。您可以使用 cucumber --init
开始
编辑
c:\Work\Test Scripts\Cucumber\features\step_definitions>黄瓜步-guru.rb
*** 警告:您必须使用 ANSICON 1.31 或更高版本(https://github.com/adoxa/ansic
on/) 在 Windows 上获得彩色输出
步骤-guru.rb:解析器错误:
(3:1):预期:#Language、#TagLine、#FeatureLine、#Comment、#Empty、得到“给定”
(/^ 我在某个职业网站.com Page$/) do'
这是我的功能文件:
Feature: Visit Career guide page in some career site
Scenario: Visit some career site dot com
Given I am on http://some career site dot com/
When I click on jobs tab
Then I should see Jobs page
这是我的 .rb 文件 运行 代码:
Given (/^ I am on some career site demo Page$/) do
Browser.goto "career site"
end
When (/^ click on Jobs tab$/) do
Browser.text (:name, "Jobs" ).click
end
Then (/^ I should see Jobs page$/) do
Browser.goto "jobs site/"
puts "Successful Page load"
browser.close
end
我遇到了以下 Cucumber Parser 错误。能否请您看看并帮我解决这个问题?
c:\Work\Test Scripts\Cucumber\features\step_definitions>cucumber step-guru.rb
*** WARNING: You must use ANSICON 1.31 or higher (githubsite of ansicon) to get coloured output on Windows
step-guru.rb: Parser errors:
(3:1): expected: #Language, #TagLine, #FeatureLine, #Comment, #Empty, got 'Given (/^ I am on some 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 (/^ I 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>'
你叫黄瓜的方式不对:
cucumber step-guru.rb
Cucumber 尝试将您的步骤定义文件解释为功能文件 - 相反,您应该只是 运行 来自顶级目录的 cucumber as
cucumber
前提是你的项目布局是这样的:
TOP/
features/
first.feature
steps/
first_step.rb
Given (/^ I am on some career site demo Page$/) do
发生解析器错误,因为功能文件中没有对应的 Given
。相反,问题中特征文件的 Given 显示为 Given I am on http://some career site dot com/
,这与步骤定义中提到的不同。我建议如下:
- 为您的功能文件添加一个用户故事标签。例如在特征文件的开头写入
@US_Something
作为第一行。
- 从功能父目录的终端,运行
cucumber -t @US_Something
。如果功能文件没有问题,Cucumber 将建议在您的步骤定义 .rb 文件中实施的方法。使用这些方法进行后续实施。
我遇到过同样的问题。我只是从我的 intellij 编辑器的文件-> 文件属性-> 删除 BOM 中“删除 BOM”。
开始解析文件。
这是我的目录结构:
C:\Work\Test Scripts\Cucumber\features features\guru.特征 features\step_definitions
- \step_definitions\step-guru.rb
所以 运行从 step_definitions 中调用 Cucumber 命令,我仍然看到如下错误:
c:\Work\Test Scripts\Cucumber\features\step_definitions>黄瓜
*** 警告:您必须使用 ANSICON 1.31 或更高版本(https://github.com/adoxa/ansic
on/) 在 Windows 上获得彩色输出
没有这样的文件或目录 - 功能。您可以使用 cucumber --init
开始
编辑
c:\Work\Test Scripts\Cucumber\features\step_definitions>黄瓜步-guru.rb *** 警告:您必须使用 ANSICON 1.31 或更高版本(https://github.com/adoxa/ansic on/) 在 Windows 上获得彩色输出 步骤-guru.rb:解析器错误: (3:1):预期:#Language、#TagLine、#FeatureLine、#Comment、#Empty、得到“给定” (/^ 我在某个职业网站.com Page$/) do'
这是我的功能文件:
Feature: Visit Career guide page in some career site
Scenario: Visit some career site dot com
Given I am on http://some career site dot com/
When I click on jobs tab
Then I should see Jobs page
这是我的 .rb 文件 运行 代码:
Given (/^ I am on some career site demo Page$/) do
Browser.goto "career site"
end
When (/^ click on Jobs tab$/) do
Browser.text (:name, "Jobs" ).click
end
Then (/^ I should see Jobs page$/) do
Browser.goto "jobs site/"
puts "Successful Page load"
browser.close
end
我遇到了以下 Cucumber Parser 错误。能否请您看看并帮我解决这个问题?
c:\Work\Test Scripts\Cucumber\features\step_definitions>cucumber step-guru.rb
*** WARNING: You must use ANSICON 1.31 or higher (githubsite of ansicon) to get coloured output on Windows
step-guru.rb: Parser errors:
(3:1): expected: #Language, #TagLine, #FeatureLine, #Comment, #Empty, got 'Given (/^ I am on some 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 (/^ I 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>'
你叫黄瓜的方式不对:
cucumber step-guru.rb
Cucumber 尝试将您的步骤定义文件解释为功能文件 - 相反,您应该只是 运行 来自顶级目录的 cucumber as
cucumber
前提是你的项目布局是这样的:
TOP/
features/
first.feature
steps/
first_step.rb
Given (/^ I am on some career site demo Page$/) do
发生解析器错误,因为功能文件中没有对应的 Given
。相反,问题中特征文件的 Given 显示为 Given I am on http://some career site dot com/
,这与步骤定义中提到的不同。我建议如下:
- 为您的功能文件添加一个用户故事标签。例如在特征文件的开头写入
@US_Something
作为第一行。 - 从功能父目录的终端,运行
cucumber -t @US_Something
。如果功能文件没有问题,Cucumber 将建议在您的步骤定义 .rb 文件中实施的方法。使用这些方法进行后续实施。
我遇到过同样的问题。我只是从我的 intellij 编辑器的文件-> 文件属性-> 删除 BOM 中“删除 BOM”。
开始解析文件。