cucumber - How to organise login process to the scenarios of cucumberjs? -


i want write smoke test cucumberjs. i'm new cucumber, not sure how write scenarios complex process.

the process want check:

  1. i'm unsigned user
  2. i open '/my-home' in browser
  3. it redirect '/login?continue=/my-home'
  4. there login form on page
  5. i input username , password, , press 'login' button
  6. if logged in, redirect '/my-home'
  7. i can see name 'freewind' on page

i'm not sure how many scenarios need create, 1 all, or 2 (one login page redirection, login), or more?

if write one, might be:

scenario: login home   given i'm unsigned user     , open '/my-home' in browser     , redirect '/login?continue=/my-home'     , there login form on page    when input username , password     , press 'login' button    redirect '/my-home'     , can see name 'freewind' on page 

if write two, might be:

scenario: login page redirection   given i'm unsigned user    when open '/my-home' in browser    redirect '/login?continue=/my-home'     , there login form on page  scenario: login home   given opened login url '/login?continue=/my-home'    when input username , password     , press 'login' button    redirect '/my-home'     , can see name 'freewind' on page 

which 1 makes more sense? , there better way?

and found given opened login url '/login?continue=/my-home' not fluent, there better way express it?

don't write scenarios this. detail 'how' login belongs in code 'below' scenarios (step definitions , helper methods). although might seem little odd @ first, way write feature like

feature: registered users can login  background:   given registered  scenario: log in   when login   should logged in 

after can write other scenarios like

scenario: log in wrong password 

and can write features unregistered users , registration

when write features think business person, not developer or tester. explain want , why important, leave out 'how' things done.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -