Page-objects-pattern
Upcoming SlideShare
Loading in...5
×
 

Page-objects-pattern

on

  • 628 views

Presentation done at Ruby USer group

Presentation done at Ruby USer group

Statistics

Views

Total Views
628
Views on SlideShare
628
Embed Views
0

Actions

Likes
0
Downloads
3
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.