标签: cucumber

尝试使用Cucumber功能中的"示例"部分时解析问题

在谷歌搜索此错误消息没有运气

features/manage_hand_evaluator.feature:features/manage_hand_evaluator.feature中的解析错误:21.在期待以下之一时找到示例:comment,py_string,row,scenario,scenario_outline,step,tag.(现状:步骤).(小黄瓜::分析器:: ParseError)

这是我为示例部分设置的(此时没有其他方案,只是在"功能:"部分之后的这个方案)

...

Scenario: Evaluating for current straights
  Given I am a player with <hand>
  When the board is <board>
  Then the current possible straights should be <possibles>

  Examples:
    | board | hand |    possibles                  | 
    | A23   | 45   | A2345                         | 
    | 3456  | 23   | A2345,23456,34567,45678       | 
    | 789T  | A2   | 56789,6789T,789TJ,89TJQ       | 
    | 45678 | 23   | 23456,34567,45678,56789,6789T | 
Run Code Online (Sandbox Code Playgroud)

我也已经为那些"Given,When,Then"行设置了步骤定义(当我替换时测试通过,并且有一些文本并注释掉"Examples"部分).所以似乎步骤定义设置得恰当,只是因为我在.feature文件中的内容存在某种解析问题,我无法弄清楚我做错了什么.

相关的宝石安装:小黄瓜(2.1.5)(尝试2.2.0,但它与我的黄瓜版本打破)黄瓜(0.8.5)黄瓜 - 铁路(0.3.2)导轨(2.3.8)

ruby ruby-on-rails cucumber gherkin

28
推荐指数
1
解决办法
8614
查看次数

页面对象模型链接是否与Cucumber的Gherkin兼容?

使用Test Automation的页面对象模型,我们将页面链接在一起,如下所示:

WebDriver driver = new WebDriver()
HomePage homePage = new HomePage(driver);
LoginPage loginPage = homePage.GoToLoginPage();
WelcomePage welcomePage = loginPage.Login();
etc
etc
Run Code Online (Sandbox Code Playgroud)

这样做的最大好处是,如果开发人员更改主页,使其不再链接到登录页面,我可以更新我的主页类,并在运行测试之前查看我需要更新的所有测试(有错误).

然而,对于小黄瓜,上面的每一行将形成一个单独的"步骤",因此是一个单独的方法.因此,如何进行这种连接?

是将页面对象类的实例(例如homePage,loginPage等)放入交叉gherkin语句持久性存储(例如specflow POCO或'World')的唯一方法吗?

selenium cucumber specflow gherkin pageobjects

28
推荐指数
1
解决办法
2862
查看次数

Cucumber/Capybara错误:arguments [0]未定义(Selenium :: WebDriver :: Error :: JavascriptError)

我一直在终端上运行测试一段时间没有任何问题:

黄瓜创造\新\ Game.feature

其中包含以下内容:

Feature: Create New Game

  Background: 
    Given I am logged in

  Scenario: Cleanup & New Game 01
    Then I Delete all test Games
Run Code Online (Sandbox Code Playgroud)

而红宝石:

Given(/^I am logged in$/) do
  el = first("button[ttag='account_dropdown_btn']", :visible => true)
  if el.nil?
    logMeIn("user@user1.com","pa55w0rd")
  end
end
Run Code Online (Sandbox Code Playgroud)

logMeIn定义为:

# Logs the user in with given credentials
def logMeIn(username, password)
  page.driver.browser.manage.window.maximize
  visit ENV['BASE_URL']
  fill_in 'j_username', :with => username
  fill_in 'j_password', :with => password
  click_button 'Login'
end
Run Code Online (Sandbox Code Playgroud)

从测试工作到现在,上述情况都没有改变.今天,当我开始测试时,一旦Firefox打开,我立即得到:

  Background:            # features/Create New Game.feature:4
    Given I am …
Run Code Online (Sandbox Code Playgroud)

ruby selenium cucumber capybara capybara-webkit

28
推荐指数
1
解决办法
5604
查看次数

在特定功能之前/之后执行Cucumber步骤

我想为每个特定的功能文件指定某些设置和拆除步骤.我已经看到了允许代码在每个场景之前执行的钩子,并且钩子在每个功能之前执行代码,但我想指定在一个特定功能运行所有场景之前和之后运行一次的代码.

这可能吗?

java cucumber cucumber-jvm

27
推荐指数
3
解决办法
8万
查看次数

Rails 3.0.9 + Devise + Cucumber + Capybara臭名昭着的"没有路线匹配/用户/ sign_out"

我正在使用带有rails 3.0.9,cucumber-rails 1.0.2,capybara 1.0.0的设计1.4.2.我有No route matches "/users/sign_out"错误,当我点击注销.:method => :delete经过这样的问题(no-route-matches-users-sign-out-devise-rails-3)后,我添加了link_to标签.

由于我用jquery替换了原型,我也不得不改变

config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
Run Code Online (Sandbox Code Playgroud)

config.action_view.javascript_expansions[:defaults] = %w(jquery jquery_ujs)
Run Code Online (Sandbox Code Playgroud)

绕过rails.js找不到错误.

虽然有了上述更改,但我能够成功注销并重定向到root,当我在FireBug中查看localhost:3000/users/sign_out请求的响应时,它会显示相同的路由错误消息单击此处以查看带有注释的屏幕截图

通过设计成功实现对rails 3 app的身份验证后,当我按照本教程(github.com/RailsApps/rails3-devise-rspec-cucumber/wiki/Tutorial)使用Cucumber + Capybara + RSpec添加功能和规格时,出现以下错误

When I sign in as "user@test.com/please"                              # features/step_definitions/user_steps.rb:41
Then I should be signed in                                            # features/step_definitions/user_steps.rb:49
And I sign out                                                        # features/step_definitions/user_steps.rb:53
  No route matches "/users/sign_out" (ActionController::RoutingError)
  <internal:prelude>:10:in `synchronize'
  ./features/step_definitions/user_steps.rb:55:in `/^I sign out$/'
  features/users/sign_out.feature:10:in `And I sign out'
And I should see "Signed …
Run Code Online (Sandbox Code Playgroud)

rspec cucumber devise capybara ruby-on-rails-3

26
推荐指数
4
解决办法
7846
查看次数

Rails:良好的Rspec2示例用法?(另外:Cucumber,Pickle,Capybara)

我正在寻找一个使用Rspec 2作为测试库的最新开源应用程序.我想看看一位经验丰富的开发人员如何正确地利用该库来测试整个堆栈,因为我对自己的知识一直存在疑问(来自testunit,部分原因是由于最新Rspec版本的相当稀疏的文档,甚至虽然它不断改进).

如果一个项目会使用Cucumber,Pickle和/或Capybara以及Rspec 2,那么你会让我欢欣鼓舞.

有什么指针吗?

干杯!

ruby testing rspec cucumber rspec2

25
推荐指数
1
解决办法
6186
查看次数

黄瓜与RSpec

我想开始潜入BDD.我之前从未使用过TDD,也不确定我是否应该从学习RSpec开始,然后跳到Cucumber或者直接使用Cucumber.

我一直在互联网上阅读这两本书,在我看来,黄瓜可能是RSpec的"替代品".我是对的还是应该用于某些事情而另一个用于其他事物?

rspec ruby-on-rails cucumber

25
推荐指数
2
解决办法
7653
查看次数

如何学习/教Gherkin黄瓜

我想让业务分析师能够使用Gherkin编写Cucumber友好的功能,场景和步骤的所有规范.

我已经阅读了github网站上的一些关于Cucumber的基本信息以及快速谷歌搜索,但想知道是否有推荐的资源让非技术人员能够使用Gherkin编写全面的BDD(我假设是用于创建黄瓜测试的首选语言.

谢谢.

ruby ruby-on-rails cucumber specflow gherkin

24
推荐指数
3
解决办法
3万
查看次数

运行黄瓜规格时,红宝石1.9.2奇怪的警告

我刚刚更新了试用rails 3,使用rvm和ruby 1.9.2-p0.

当我运行我的黄瓜规格时,我会听到奇怪的警告

/home/ubuntu/.rvm/gems/ruby-1.9.2-p0/gems/rack-1.2.1/lib/rack/utils.rb:16: warning: regexp match /.../n against to UTF-8 string

/home/ubuntu/.rvm/gems/ruby-1.9.2-p0/gems/rack-1.2.1/lib/rack/utils.rb:16: warning: regexp match /.../n against to UTF-8 string

/home/ubuntu/.rvm/gems/ruby-1.9.2-p0/gems/rack-1.2.1/lib/rack/utils.rb:16: warning: regexp match /.../n against to UTF-8 string
Run Code Online (Sandbox Code Playgroud)

我的包包含以下宝石......

Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.0) 
Using builder (2.1.2) 
Using i18n (0.4.1) 
Using activemodel (3.0.0) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.4) 
Using tzinfo (0.3.23) 
Using actionpack (3.0.0) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.8) 
Using mail (2.2.5) …
Run Code Online (Sandbox Code Playgroud)

ruby cucumber rvm ruby-on-rails-3

24
推荐指数
4
解决办法
5281
查看次数

整合与验收测试......什么是黄瓜/牛排?

对于我的Rails Web应用程序的集成测试,我使用Steak(类似Cucumber).Steak的规格位于名为spec/acceptance的文件夹中.Steak/Cucumber现在用于集成或验收测试吗?我一直认为这是不同的东西.

integration-testing rspec ruby-on-rails acceptance-testing cucumber

24
推荐指数
1
解决办法
9940
查看次数