• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Page objects pattern
 

Page objects pattern

on

  • 1,094 views

Presentation about using the page object pattern for writing tests with cucumber

Presentation about using the page object pattern for writing tests with cucumber

Statistics

Views

Total Views
1,094
Views on SlideShare
1,094
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Page objects pattern Page objects pattern Presentation Transcript

    • AMIR BARYLKO PAGE OBJECTS PATTERN WINNIPEG RUBY USER GROUP FEB 2012Amir Barylko - Page Objects MavenThought Inc.
    • WHO AM I? • Architect • Developer • Mentor • Great cook • The one who’s entertaining you for the next hour!Amir Barylko - Page Objects MavenThought Inc.
    • UI TESTING (BDD)Amir Barylko - Page Objects MavenThought Inc.
    • WHAT’S THE POINT? • Flush out requirements • Drive development • Traceability • Documentation • ????Amir Barylko - Page Objects MavenThought Inc.
    • WHO CARES? • The Stakeholders • The Developers • QAs • BAs • EtcAmir Barylko - Page Objects MavenThought Inc.
    • WHAT’S THE PROBLEM? • New approach • It’s quite a bit of effort • Classic roles may clash • The whole team needs to buy in • Implementation changes may imply test changesAmir Barylko - Page Objects MavenThought Inc.
    • IMPLEMENTATIONAmir Barylko - Page Objects MavenThought Inc.
    • FEATURES Feature: Listing projects As a user I Want to see the list of projects So I can choose one to see the details Scenario: List all projects Given Im logged in And I have some projects loaded When I go to the projects page Then I should the complete list of projectsAmir Barylko - Page Objects MavenThought Inc.
    • STEPS When /^I have some projects loaded$/ do # setup the projects you have end Then /^I should have the complete list of projects$/ do # some cool ruby code here to # verify that what you are seeing is what you # actually have in the database endAmir Barylko - Page Objects MavenThought Inc.
    • COMMON STRUCTURE Step Cucumber Implementation Arrange Given I have.... Put some stuff in the DB Click, enter values, Act When I do this... more clicking Assert Then I should see... DB == HTML?Amir Barylko - Page Objects MavenThought Inc.
    • LOOK MA! NO TAGS! • How to avoid brittle tests? • What do we do in general when coding? • Reusability.... perhaps? • Less coupling, maybe? • How? Where?Amir Barylko - Page Objects MavenThought Inc.
    • LOOK MA! NO SLIDES! unless boring || stef.still_talking? do demo() endAmir Barylko - Page Objects MavenThought Inc.
    • QUESTIONS?Amir Barylko - Page Objects MavenThought Inc.
    • RESOURCES • Email: amir@barylko.com, • Twitter: @abarylko • Blog: http://orthocoders.com • Materials: http://orthocoders.com/presentations • Website: http://maventhought.comAmir Barylko - Page Objects MavenThought Inc.
    • RESOURCES II • PoP: http://code.google.com/p/selenium/wiki/PageObjects • Gizmo: https://github.com/icaruswings/gizmo • Example1: https://github.com/cheezy/uitesting_blog • Capybara: https://github.com/jnicklas/capybara • Cucumber: https://cucumber.orgAmir Barylko - Page Objects MavenThought Inc.