Cucumber 特性测试失败,但单个 Cucumber 测试通过了 facebook 和 twitter 测试

Cucumber features test fail but single cucumber test passes facebook and twitter test

我已经创建了测试来模拟登录 facebook 和 twitter 以在我的应用程序上注册。当我运行个人黄瓜测试时,它通过了。然而,当我 运行 整个黄瓜测试时,它在 facebook 和 twitter 登录失败。

注意:失败的地方是第2次使用facebook和twitter场景登录。使用的功能第一次通过。

当运行宁黄瓜功能

Unable to find field "email" (Capybara::ElementNotFound)
./features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_facebook_steps.rb:13:in `/^I log in with my facebook email and password quiz$/'
./features/support/database_cleaner.rb:11:in `block in <top (required)>'
features/microsites/quiz/microsites_quiz_entrant_sign_in_facebook.feature:7:in `And I log in with my facebook email and password quiz'

Unable to find field "username_or_email" (Capybara::ElementNotFound)
./features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_twitter_steps.rb:13:in `/^I log in with my twitter email and password quiz$/'
./features/support/database_cleaner.rb:11:in `block in <top (required)>'
features/microsites/quiz/microsites_quiz_entrant_sign_in_twitter.feature:7:in `And I log in with my twitter email and password quiz'

Failing Scenarios:
cucumber features/microsites/quiz/microsites_quiz_entrant_sign_in_facebook.feature:3 # Scenario: Viewing quiz entrant sign in with facebook
cucumber features/microsites/quiz/microsites_quiz_entrant_sign_in_twitter.feature:3 # Scenario: Viewing quiz entrant sign in with twitter

运行个人黄瓜测试

Using the default profile...
Feature: Entrant Sign In Quiz with facebook

  Scenario: Viewing quiz entrant sign in with facebook            # features/microsites/quiz/microsites_quiz_entrant_sign_in_facebook.feature:3
    Given there is a quiz entrant sign in page facebook           # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_facebook_steps.rb:1
    When I visit the quiz entrant microsite sign in page facebook # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_facebook_steps.rb:8
I, [2016-03-10T09:24:47.442080 #41761]  INFO -- omniauth: (facebook) Setup endpoint detected, running now.
I, [2016-03-10T09:24:47.443293 #41761]  INFO -- omniauth: (facebook) Request phase initiated.
    Then I click on the social facebook login button              # features/step_definitions/microsites/photo_upload/microsites_photo_upload_entrant_sign_in_facebook_steps.rb:14
I, [2016-03-10T09:24:50.419651 #41761]  INFO -- omniauth: (facebook) Setup endpoint detected, running now.
I, [2016-03-10T09:24:50.420759 #41761]  INFO -- omniauth: (facebook) Callback phase initiated.
    And I log in with my facebook email and password quiz         # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_facebook_steps.rb:12
    Then I complete the quiz entrant registration for facebook    # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_facebook_steps.rb:18
    And I can click Enter to upload a photo entry                 # features/step_definitions/microsites/photo_upload/microsites_photo_upload_entrant_sign_in_facebook_steps.rb:33

1 scenario (1 passed)
6 steps (6 passed)
0m12.362s

Using the default profile...
Feature: Entrant Sign In Quiz with twitter

  Scenario: Viewing quiz entrant sign in with twitter            # features/microsites/quiz/microsites_quiz_entrant_sign_in_twitter.feature:3
    Given there is a quiz entrant sign in page twitter           # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_twitter_steps.rb:1
    When I visit the quiz entrant microsite sign in page twitter # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_twitter_steps.rb:8
I, [2016-03-10T09:39:32.581672 #41900]  INFO -- omniauth: (twitter) Setup endpoint detected, running now.
I, [2016-03-10T09:39:32.582803 #41900]  INFO -- omniauth: (twitter) Request phase initiated.
    Then I click on the social twitter login button              # features/step_definitions/microsites/photo_upload/microsites_photo_upload_entrant_sign_in_twitter_steps.rb:14
I, [2016-03-10T09:39:36.825594 #41900]  INFO -- omniauth: (twitter) Setup endpoint detected, running now.
I, [2016-03-10T09:39:36.829630 #41900]  INFO -- omniauth: (twitter) Callback phase initiated.
    And I log in with my twitter email and password quiz         # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_twitter_steps.rb:12
    Then I complete the quiz entrant registration for twitter    # features/step_definitions/microsites/quiz/microsites_quiz_entrant_sign_in_twitter_steps.rb:18
    And I can click Enter to upload a photo entry                # features/step_definitions/microsites/photo_upload/microsites_photo_upload_entrant_sign_in_facebook_steps.rb:33

1 scenario (1 passed)
6 steps (6 passed)
0m14.284s

找到一个gem可以用来登出facebook

Capybara Facebook Macros