2. Organiser Belfast Selenium Meetup
Co-organiser SWTC Belfast
Lead Test Engineer at ShopKeep
Twitter: @hughleo01
About Me
3. @hughleo01
● Provides a common language
or model to work with
● Hides complexity / remove
unimportant detail
● Get to work at a level closer to
the problem being solved.
Abstraction
4. @hughleo01
Test Automation Abstractions
● For example
○ Webdriver
○ Web Elements
○ Page Objects
● Useful with automation because
○ Change implementation
○ Makes automation more maintainable
https://www.slideshare.net/eviltester/automation-abstraction-layers-page-objectspdf
18. @hughleo01
With Capybara, entering a value in an input field
can spawn five Selenium commands:
● verifying that the element is displayed
● getting its name
● determining its type
● clearing it
● then entering the text.
Every call is an RPC call
http://www.aosabook.org/en/selenium.html
https://wiki.saucelabs.com/display/DOCS/
Tips+for+Lean%2C+Speedy+Tests+with+
Sauce+Labs
21. @hughleo01
● Finding the same element each time
● Conditional logic of element existing
Every call is an RPC call
22. @hughleo01
“Knowledge is a weapon, Jon. Arm yourself
well before you ride forth to battle”
Composition over inheritance
Domain Objects
Builder Pattern
Interaction Abstractions