+ All Categories
Home > Documents > Automation Examples - Agile Testing with Lisa...

Automation Examples - Agile Testing with Lisa...

Date post: 07-Feb-2018
Category:
Upload: vanxuyen
View: 213 times
Download: 0 times
Share this document with a friend
23
1 Automation Examples
Transcript
Page 1: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

1

Automation Examples

Page 2: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

2

Test Automation Design  Using Robot Framework examples  Every good test framework will allow

similar design  Show how we extract duplication  Making tests maintainable

Page 3: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

3

Example One: Simple Test  Opens browser, brings up page, checks

title, logs in with valid account info  Everything hardcoded

Page 4: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

4

Example One *** Test Cases *** Test Login open browser http://127.0.0.1:7272 firefox title should be Login Page

input text username_field demo input text password_field mode Click Button login_button

Title should be Welcome Page Page should contain Login succeeded

*** Settings *** Library SeleniumLibrary Test Teardown close browser

Page 5: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

5

Example Two: Extracting Duplication  Good tools provide a way  Robot Framework has “keywords”  Other tools/languages have “includes”,

“macros”, “classes”, “modules”  Now we have two test cases  Browser and server name in variables  Defined keywords for actions that may be

repeated

Page 6: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

6

Example Two Test Cases invalid account navigate to the login page type in username invalid type in password xxx click submit verify the invalid account error message

valid account navigate to the login page type in username demo type in password mode click submit verify the valid account message click logout

Page 7: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

7

Example Two Keywords (1) *** Keywords ***

navigate to the login page log hello, world! open browser ${LOGIN PAGE} ${BROWSER} title should be Login Page ${title} = Get Title should start with ${title} Login

type in username [Arguments] ${username} input text username_field ${username}

type in password [Arguments] ${password} input text password_field ${password}

Page 8: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

8

Example Two Keywords (2) click submit Click Button login_button

click logout Click Link logout

verify the invalid account error message Title should be Error Page Page should contain Invalid user name and/or password

verify the valid account message Title should be Welcome Page Page should contain Login succeeded

Page 9: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

9

Example Two Settings/Variables *** Settings *** Library SeleniumLibrary Test Teardown close browser

*** Variable *** ${LOGIN PAGE} http://localhost:7272 ${BROWSER} firefox

Page 10: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

10

Example Three: More Flexibility  What if we could run the test with any

username and password?  We could pass in variable values as

runtime arguments  Let’s do some refactoring

Page 11: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

11

Example Three Test Cases login account navigate to the login page type in username ${username} type in password ${password} click submit verify the title verify the message

Page 12: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

12

Example Three Keywords (1) navigate to the login page open browser ${LOGIN PAGE} ${BROWSER} title should be Login Page ${title} = Get Title should start with ${title} Login

type in username [Arguments] ${username} input text username_field ${username}

type in password [Arguments] ${password} input text password_field ${password}

click submit Click Button login_button

Page 13: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

13

Example Three Keywords (2) click logout Click Link logout

verify the title Title should be ${title}

verify the message Page should contain ${message}

Page 14: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

14

Specifying the Variables at Runtime ./runDemo.py --variable username:demo --variable password:mode --variable message:'Login succeeded’ --variable title:'Welcome Page' ExampleThree.txt

Page 15: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

15

Example Four: Re-use  Split keywords used by more than one

test into a separate file   In Robot Framework this is called a

“resource”

Page 16: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

16

navigate_to_login.txt – “resource” *** Keywords ***

navigate to the login page open browser ${LOGIN PAGE} ${BROWSER} title should be Login Page ${title} = Get Title should start with ${title} Login

Page 17: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

17

Example Four Settings *** Settings ***

Documentation A test for valid login

Resource navigate_to_login.txt

Page 18: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

18

Example Four Test Cases login account navigate to the login page type in username ${username} type in password ${password} click submit verify the title verify the message

Page 19: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

19

Example Four Keywords type in username [Arguments] ${username} input text username_field ${username}

type in password [Arguments] ${password} input text password_field ${password}

click submit Click Button login_button

click logout Click Link logout

verify the title Title should be ${title}

verify the message Page should contain ${message}

Page 20: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

20

Example Four Variables *** Variable *** ${LOGIN PAGE} http://localhost:7272 ${BROWSER} firefox ${username} demo ${password} mode ${title} Welcome Page ${message} Login succeeded

Page 21: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

21

Other Re-Use Approaches: Example 5  Module to click a button or link – pass in

button or link name  Module to input text – pass in text to enter  All keywords in a resource file – a “library”

Main script has: Resource example_resources.txt

Page 22: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

22

example_keywords.txt (navigate to login page same as before) click a link [Arguments] ${link_name} Click Link ${link_name}

click a button [Arguments] ${button_name} Click Button ${button_name}

type in text [Arguments] ${field_name} ${text_string} input text ${field_name} ${text_string}

verify the title [Arguments] ${title} Title should be ${title}

verify the message [Arguments] ${message} Page should contain ${message}

Page 23: Automation Examples - Agile Testing with Lisa Crispinlisacrispin.com/downloads/AutomationDesignExamples.pdf · Automation Examples . Copyright 2010: Lisa Crispin 2 ... Using Robot

Copyright 2010: Lisa Crispin

23

Example Five test cases login account navigate to the login page type in text username_field demo type in text password_field mode click a button login_button verify the title Welcome Page verify the message Login succeeded click a link logout

login should fail navigate to the login page type in text username_field invaliduser click a button login_button verify the title Error Page verify the message Invalid user name and/or password


Recommended