Sei sulla pagina 1di 12

Geb:

Save Time with Groovy


Functional Testing
Dallas, TX
October 2012

Discussion document Strictly Confidential & Proprietary

Agenda

We will cover how a successful workflow for developing functional tests


Introductions
Interactive Shell

Basic setup

Syntax Overview

Page Abstraction

Overview

Modules

Functions

Functional Testing
Recap and Questions

Geb: Save Time with Groovy Functional Testing


October, 2012

Introductions

Geb: Save Time with Groovy Functional Testing


October, 2012

Interactive Shell

Geb: Save Time with Groovy Functional Testing


October, 2012

Interactive Shell

Getting started with Geb in the interactive Groovy Shell


Firefox for Geb
Try out your tests before putting them into code

Useful for rapid test development


http://groovy.codehaus.org/Groovy+Shell

https://github.com/jhamit/geb-examples

Geb: Save Time with Groovy Functional Testing


October, 2012

Interactive Shell

Basic Geb syntax looks familiar, though there are some differences with jQuery
http://www.gebish.org/manual/current/
Key Objects

geb.Browser
geb.navigator.Navigator

geb.js.JavascriptInterface
Nice Features

DOM Inspection via CSS Selectors, Indexes, Attributes


DOM Interaction via b.$.click()

DOM Manipulation via jQuery Hook


Examples

b.title
b.$('div.content-main')

b.$('div.tweet').first().find('a[href="/improving"]',0)

Geb: Save Time with Groovy Functional Testing


October, 2012

Page Abstraction

Geb: Save Time with Groovy Functional Testing


October, 2012

Page Abstraction

Define the essence of the page in order to separate the concerns of test
methods and web elements
These tools allow flexibility in page design without breaking tests
Page Conceptual abstraction of a URLs

Page Module - Sections that are reusable across multiple pages


Page Method Actions that are used frequently on pages

Geb: Save Time with Groovy Functional Testing


October, 2012

Functional Testing

Geb: Save Time with Groovy Functional Testing


October, 2012

Functional Testing

Geb makes it easy to test natively in multiple browsers


Faster and easier to develop tests
Automated report generation

Easily invoked from command line


Can be incorporated into build/deployment process

Point to other environments with native browsers via geb.build.baseUrl

Geb: Save Time with Groovy Functional Testing


October, 2012

10

Functional Testing

More Geb to come so follow along and share your techniques with the
community
More Geb to come
Follow along @josh_hamit or JoshHamit.com

Configurable page instances


Module lists

Geb: Save Time with Groovy Functional Testing


October, 2012

11

Recap and Questions

Geb: Save Time with Groovy Functional Testing


October, 2012

12

Potrebbero piacerti anche