Automating Responsiveness of your Websites

21
AUTOMATING RESPONSIVE WEBSITE TESTING Pranathi Birudugadda

Transcript of Automating Responsiveness of your Websites

Page 1: Automating Responsiveness of your Websites

AUTOMATING RESPONSIVE WEBSITE

TESTINGPranathi Birudugadda

Page 2: Automating Responsiveness of your Websites

Pranathi Birudugadda

Quality Enthusiast

Agile Practitioner

Test Automation Engineer

Occasional Blogger

ABOUT ME

@Pranathi_B

https://in.linkedin.com/in/pranathi

pranathibirudugadda.wordpress.com

Berlin, Germany

https://github.com/PranathiB

Page 3: Automating Responsiveness of your Websites

WHAT IS RESPONSIVE WEB DESIGN

is an approach that suggests design and development should respond to the

user's behaviour and environment based on screen size, platform and

orientation

@Pranathi_B

Page 4: Automating Responsiveness of your Websites

• Write once publish everywhere

• Design your development to meet user’s behavior and environment

@Pranathi_B

Page 5: Automating Responsiveness of your Websites

HOW IS IT ACHIEVED

▫︎ A flexible grid based layout

▫︎ Page element sizing should be in relative units

▫︎ Enable flexible media

▫︎ Flexible images are sized in relative units

▫︎ Addition of media queries

▫︎ Allow the page to use different CSS style rules based on the width of the browser

@Pranathi_B

Page 6: Automating Responsiveness of your Websites

@Pranathi_B

Page 7: Automating Responsiveness of your Websites

RESPONSIVE WEB DESIGN TESTING

@Pranathi_B

Page 8: Automating Responsiveness of your Websites

How to Test multiple devices/platforms??

@Pranathi_B

Page 9: Automating Responsiveness of your Websites

Pages should be readable on all resolutions

Content defined ‘important’ need to be visible in all

breakpoints

Text, controls, image alignment color, shading, gradient

consistency

Typed text (data entry) scrolls and displays properly

THINGS TO KEEP IN MIND

@Pranathi_B

Page 10: Automating Responsiveness of your Websites

Selecting set of devices for test

COMMON CHALLENGES

Frequent change of requirements Manual testing on all the devices?

@Pranathi_B

Page 11: Automating Responsiveness of your Websites

Responsive Web Design

Tester

Viewport resize

Browserstack

ApplitoolsGalen

Framework

Online website checkers Google

responsive checker

AVAILABLE TOOLS IN THE MARKET

@Pranathi_B

Page 12: Automating Responsiveness of your Websites

GALEN FRAMEWORK

@Pranathi_B

Page 13: Automating Responsiveness of your Websites

Open Sourced, distributed under Apache License 2

Developed by Ivan Shubin

Designed with responsiveness in mind

Uses Selenium for web page interactions

GALEN FRAMEWORK

@Pranathi_B

Page 14: Automating Responsiveness of your Websites

HOW GALEN WORKS

▫︎Define a set of devices that needs testing

▫︎Write a spec file that defines the layout on these devices

▫︎Galen opens a browser, resizes to specified dimension and verifies the spec file

▫︎Can be used along with Selenium Grid

@Pranathi_B

Page 15: Automating Responsiveness of your Websites

GALEN SPEC FILE

● Language used to define the layout of the page on different devices

● Uses simple English words to describe the layout

● Human readable

● Minimal text to define the complete page

@Pranathi_B

Page 16: Automating Responsiveness of your Websites

GALEN SPEC FILE

@Pranathi_B

Page 17: Automating Responsiveness of your Websites

GALEN SPEC LANGUAGE

● *.gspec

● Object Definition

● Tagging

● Relative positions (near, below, inside)

● Alignment

● Height and Width

● Color Scheme

● Image Comparison

● CSS properties

@Pranathi_B

Page 18: Automating Responsiveness of your Websites

DEMO

Github repo:

https://github.com/PranathiB/Galen

@Pranathi_B

Page 19: Automating Responsiveness of your Websites

@Pranathi_B

Page 20: Automating Responsiveness of your Websites

OTHER FEATURES

● Error Reporting using HTML and JSON

● Screenshot capture

● Image Comparison

● Warning levels

● Custom errors

@Pranathi_B

Page 21: Automating Responsiveness of your Websites

Questions?

THANK YOU

@Pranathi_B