Project

bdd-helper

0.01
No release in over a year
Package of helper steps for BDD testing with Cucumber
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 3.0.0
>= 2.3.0
>= 0
>= 3.4.0
 Project Readme

bdd-helper

bdd-helper

bdd-helper is a Ruby gem to create Cucumber scenarios fastly. It...

  • covers your needs
  • avoids creating multiple and similar step definitions in projects
  • combines most of the major actions like clicking a button, filling an input on browsers

Installation

gem install bdd-helper

Configuration

Configure BddHelper to suit your needs.

  • timeout (Numeric = 20) : The maximum number of seconds to wait for asynchronous processes to finish.
  • base_url (String nil)       : This parameter specifies the default host of the test automation project that you developed and performs your operations through this host, must be a valid URL e.g. http://www.example.com
BddHelper.configure do |config|
  config.timeout  = 15 
  config.base_url = 'http://www.example.com'
end

Global Context

You add GlobalContext.new to Before method in your cucumber hooks. It resets global variables to default values for each scenario in an execution.

  • $current_url    : The current url is assigned in the get current url step
  • $window_size : The window size is assigned in the get window size step
  • $page_title      : The page title is assigned in the get window title step
Before do |scenario|
  GlobalContext.new
end

Examples

Assertions & Verifications

  • Verification of the visibility of a text on the page

    • verify "bdd-helper" text is displayed
  • Verification of a selector's test

    • verify "#username" element has "John" text
  • Verification of the status of a checkbox (checkbox can be found by its label, name or id)

    • verify "Send SMS" checkbox is checked

Clicks

  • Clicking a button (button can be found by its id, text or title)

    • click "login" button
  • Clicking a link (button can be found by its id, text or title)

    • click "Registration" link

Fills

  • Filling an input the requested value (input can be found by its name, id or label text)

    • fill "Phone Number" with "5555555555"
  • Filling an input with a random value (input can be found by its name, id or label text)

    • fill "Email" with random email
    • fill "Phone Number" with random phone number
    • fill "First Name" with random first name
    • fill "Last Name" with random last name
    • fill "Address" with random address
    • fill "Zip Code" with random zip code

Selects

  • Selecting an option from a dropdown (Dropdown can be found by its name, id or label text and it should be select box. option can be found by its text)
    • select "Germany" from "Country" dropdown

Browser

  • Navigate to URL defined in BddHelper configuration

    • visit base page
  • Close current window, or the browser if no windows are left.

    • close window
  • Switches to first or last window

    • switch to last window
    • switch to first window
  • Scroll to bottom or top of the page

    • scroll bottom of the page
    • scroll up of the page

NOTE: To auto-completion of the steps steps in bdd-helper with RubyMine or IntelliJ IDEs

  • go to Preferences / Languages & Frameworks / Cucumber
  • add bdd-helper to the list