SlideShare a Scribd company logo
1 of 17
Test Automation
Using
Serenity’s Screen Play Design Pattern
About Me
What do I mean by test
automation
?
End to End
Test Automation
● Why ‘End to EndTest Automation’ ?
○ To reduce manual efforts ??? Really
■ Is it making you slow ?
■ Minimal journey
○ Continuous integration pipeline
● Pattern in Test automation ?
○ https://abhigets.blogspot.in/2017/08/pattern-in-test-automation.html
● Most popular design patter
○ Page object pattern
Page object pattern
If page is too complex ??
SOLID
S : Single Responsibility
O : Open Close Principle
L : Liskov substitution
I : Interface segregation
D: Dependency inversion
Single Responsibility
Open Close Principle
Page object pattern
Is there any pattern ?
Assertions
Behaviours/Actions
Locators
Apply SOLID principle To POM
1. Single responsibility
2. Open close principle
Assertions Behaviours
/Actions
Locators
AT High level
Questions
Task UI
ScreenPlay Design Pattern
● How to strike right balance
○ Too many fragments [Test becomes too noisy]
○ Too big component [Loose flexibility]
● How to define a task and how to make sure we build a building blocks ?
○ Dont define action
○ Define behaviour / Goal
■ Frequency of Behaviour to change is very less and is business driven.
Some Learnings till date
Some Tips
○Look at application design
○UI components the way they are coupled
Setup Screenplay
1. Generate Project
a. $ mvn archetype:generate -Dfilter=screenplay
i. Enter 1 and select a version
ii. 'groupId': : net.serenitybdd.tutorials
iii. 'artifactId': : todomvctests
iv. 'package': net.serenitybdd.tutorials
2. Run Test
a. mvn clean verify
References
https://www.toptal.com/software/single-responsibility-principle
https://www.codeproject.com/Articles/1185933/Single-Responsibility-Principle-on-
Different-Level
https://www.lego.com/en-us/classic/products
http://mozaicworks.com/blog/open-closed-principle/
http://serenity-bdd.info/docs/articles/screenplay-tutorial.html
http://serenity-bdd.info/docs/articles/screenplay-tutorial.html
Questions ??

More Related Content

What's hot

Advancing your data science career
Advancing your data science careerAdvancing your data science career
Advancing your data science careerAlexey Grigorev
 
Building Modern Software: UX and Design
Building Modern Software: UX and DesignBuilding Modern Software: UX and Design
Building Modern Software: UX and DesignMerlin Rebrović
 
3 hacks to accelerate your data science career
3 hacks to accelerate your data science career 3 hacks to accelerate your data science career
3 hacks to accelerate your data science career Alexey Grigorev
 
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)Greenlane
 
Transforming lives-with-teaching
Transforming lives-with-teachingTransforming lives-with-teaching
Transforming lives-with-teachingRafiq Gemmail
 
Alan Page: On Testing
Alan Page: On TestingAlan Page: On Testing
Alan Page: On TestingTechWell
 
Acl 2013 presentation projects kick ass
Acl 2013 presentation projects kick assAcl 2013 presentation projects kick ass
Acl 2013 presentation projects kick assRonnie Parisella
 
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...Aleks Wruk
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Aaron Lamphere
 
The importance of testing in a web design & build project
The importance of testing in a web design & build projectThe importance of testing in a web design & build project
The importance of testing in a web design & build projectBuilding Blocks
 
Crowdsourced Remote Unmoderated Usability Testing
Crowdsourced Remote Unmoderated Usability TestingCrowdsourced Remote Unmoderated Usability Testing
Crowdsourced Remote Unmoderated Usability TestingInge De Bleecker
 
NI week 2018 - Bringing down the barrier - A pragmatic view of software design
NI week 2018 - Bringing down the barrier - A pragmatic view of software designNI week 2018 - Bringing down the barrier - A pragmatic view of software design
NI week 2018 - Bringing down the barrier - A pragmatic view of software designJeffrey Habets
 

What's hot (16)

Advancing your data science career
Advancing your data science careerAdvancing your data science career
Advancing your data science career
 
Building Modern Software: UX and Design
Building Modern Software: UX and DesignBuilding Modern Software: UX and Design
Building Modern Software: UX and Design
 
3 hacks to accelerate your data science career
3 hacks to accelerate your data science career 3 hacks to accelerate your data science career
3 hacks to accelerate your data science career
 
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)
5 Ridiculously Simple Mobile SEO Mistakes (and how you can stop them)
 
Transforming lives-with-teaching
Transforming lives-with-teachingTransforming lives-with-teaching
Transforming lives-with-teaching
 
Alan Page: On Testing
Alan Page: On TestingAlan Page: On Testing
Alan Page: On Testing
 
Acl 2013 presentation projects kick ass
Acl 2013 presentation projects kick assAcl 2013 presentation projects kick ass
Acl 2013 presentation projects kick ass
 
Tf bawa
Tf bawaTf bawa
Tf bawa
 
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...
Quick and dirty UX a.k.a Big results from small efforts: using discount usabi...
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery
 
Tf itjsbagg
Tf itjsbaggTf itjsbagg
Tf itjsbagg
 
The importance of testing in a web design & build project
The importance of testing in a web design & build projectThe importance of testing in a web design & build project
The importance of testing in a web design & build project
 
Fast end-to-end-tests
Fast end-to-end-testsFast end-to-end-tests
Fast end-to-end-tests
 
Crowdsourced Remote Unmoderated Usability Testing
Crowdsourced Remote Unmoderated Usability TestingCrowdsourced Remote Unmoderated Usability Testing
Crowdsourced Remote Unmoderated Usability Testing
 
Paper Trends
Paper TrendsPaper Trends
Paper Trends
 
NI week 2018 - Bringing down the barrier - A pragmatic view of software design
NI week 2018 - Bringing down the barrier - A pragmatic view of software designNI week 2018 - Bringing down the barrier - A pragmatic view of software design
NI week 2018 - Bringing down the barrier - A pragmatic view of software design
 

Similar to Serenity's Screen Play Design Pattern

Test automation Screen Play Design Pattern
Test automation Screen Play Design PatternTest automation Screen Play Design Pattern
Test automation Screen Play Design PatternAbhijeet Patil
 
How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...Max Barrass
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Alan Richardson
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Alan Richardson
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)Asier Barrenetxea
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideasRichard Robinson
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your workonthegosystems
 
Pair programming pair testing working together with the developers by Simon ...
Pair programming  pair testing working together with the developers by Simon ...Pair programming  pair testing working together with the developers by Simon ...
Pair programming pair testing working together with the developers by Simon ...Agile ME
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Kris Buytaert
 
Beyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web applicationBeyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web applicationPete Smith
 
Automation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and BeyondAutomation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and BeyondTechWell
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When AutomatingAlan Richardson
 
Selenium done right
Selenium done rightSelenium done right
Selenium done rightTal Landa
 
From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanQA or the Highway
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!helenalozano6
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewJohan Hoberg
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 

Similar to Serenity's Screen Play Design Pattern (20)

Test automation Screen Play Design Pattern
Test automation Screen Play Design PatternTest automation Screen Play Design Pattern
Test automation Screen Play Design Pattern
 
How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideas
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your work
 
Pair programming pair testing working together with the developers by Simon ...
Pair programming  pair testing working together with the developers by Simon ...Pair programming  pair testing working together with the developers by Simon ...
Pair programming pair testing working together with the developers by Simon ...
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Beyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web applicationBeyond responsive design - UI for the modern web application
Beyond responsive design - UI for the modern web application
 
Automation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and BeyondAutomation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and Beyond
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
 
Selenium done right
Selenium done rightSelenium done right
Selenium done right
 
Workshop - E2e tests with protractor
Workshop - E2e tests with protractorWorkshop - E2e tests with protractor
Workshop - E2e tests with protractor
 
From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey Shannahan
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
 
Intro to Lean UX with UserTesting
Intro to Lean UX with UserTestingIntro to Lean UX with UserTesting
Intro to Lean UX with UserTesting
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in Review
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Serenity's Screen Play Design Pattern