Skip to main content
Home
  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact
programsbuzz facebook programsbuzz twitter programsbuzz linkedin
  • Log in

Main navigation

  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact

Use And & But keyword in Behat Scenario

Profile picture for user devraj
Written by devraj on 10/04/2020 - 13:57

Our Business requirement does not only consist of single pre-condition, user action or expected outcomes. For few scenarios we have multiple steps where we have to mention Given, When and Then more than one times. 

Behat will not restrict you to use Given, When and Then multiple times one after another but, for readability and expressiveness it is good practice to avoid using same keyword in next line.

To provide more ease to users in reading our Scenarios And and But keyword was introduced.

Use of And keyword in Behat

And keyword is used to add conditions to your steps or add more detail to a step. It's an addition to previous statement. AND is used to add more conditions to Given, When and Then statements. It represent positive statement. 

Use of But Keyword in Behat

But keyword is used to add negative type comments. It is good to use, when your step describe condition which is not expected. For example when you are expecting some text or element should not be present on the page.

Example of Behat Scenario without And & But

 Feature: Registration, Login and MyAccount

  @regression @testing
  Scenario: Verify Login Functionality
    Given I am on the homepage
    Given I should see "Sign in" 
    When I follow "Sign in"
    When I fill in "email address" with "goswami.tarun77@gmail.com"
    When I fill in "password" with "tarun@123"
    When I press "sign in"
    Then I should see "My Account" 
    Then I should see "my account" 
    Then I should not see "Login" 

The problem in above scenario is that Given, When and Then are repeated multiple times and because of that readability is affected.

Example of Behat Scenario with And and But

 Feature: Registration, Login and MyAccount

  @regression @testing
  Scenario: Verify Login Functionality
    Given I am on the homepage
    And I should see "Sign in" 
    When I follow "Sign in"
    And I fill in "email address" with "goswami.tarun77@gmail.com"
    And I fill in "password" with "tarun@123"
    And I press "sign in"
    Then I should see "My Account" 
    And I should see "my account" 
    But I should not see "Login" 
Tags
Behat
  • Log in or register to post comments

Choose Your Technology

  1. Agile
  2. Apache Groovy
  3. Apache Hadoop
  4. Apache HBase
  5. Apache Spark
  6. Appium
  7. AutoIt
  8. AWS
  9. Behat
  10. Cucumber Java
  11. Cypress
  12. DBMS
  13. Drupal
  14. GitHub
  15. GitLab
  16. GoLang
  17. Gradle
  18. HTML
  19. ISTQB Foundation
  20. Java
  21. JavaScript
  22. JMeter
  23. JUnit
  24. Karate
  25. Kotlin
  26. LoadRunner
  27. matplotlib
  28. MongoDB
  29. MS SQL Server
  30. MySQL
  31. Nightwatch JS
  32. PactumJS
  33. PHP
  34. Playwright
  35. Playwright Java
  36. Playwright Python
  37. Postman
  38. Project Management
  39. Protractor
  40. PyDev
  41. Python
  42. Python NumPy
  43. Python Pandas
  44. Python Seaborn
  45. R Language
  46. REST Assured
  47. Ruby
  48. Selenide
© Copyright By iVagus Services Pvt. Ltd. 2023. All Rights Reserved.

Footer

  • Cookie Policy
  • Privacy Policy
  • Terms of Use