SlideShare a Scribd company logo
How to structure
Page Objects
with SitePrism
Leonardo Giacomini
➢ Graduated in Systems Analysis - UTFPR
➢ 8 years of testing automation experience
➢ QA Engineer at Resultados Digitais
Contact:
- Emails: lgiacomini92@gmail.com
leonardo.giacomini@resultadosdigitais.com.br
- LinkedIn: https://www.linkedin.com/in/lgiacomini92
- SlideShare: https://pt.slideshare.net/LeonardoGiacomini
How to structure Page Objects with SitePrism
● Page Object Model
● Siteprism
○ Page Class
○ Set URL and Set URL with Params
○ Invidual Elements
■ Find selectors
■ Methods: set, click, text and select
■ Matchers: has_<element_name>?
■ Waits: wait_for<element_name> and wait_until_<element_name>_visible/invisible
○ Element Collections
● Email Flow Case
○ Sections
○ iFrames
Page Object Model
● Abstraction of the user interface that can be used in the tests.
● Each page as a class (most common);
● Use instances of those classes in your tests.
SitePrism
● Simple, clean and semantic Domain Specific Language (DSL);
● Page Object Model pattern;
● For use with Capybara;
https://github.com/natritmeyer/site_prism
Example
Page class
feature/pages/account_page.rb feature/step_definitions/account/account_steps.rb
Set URL
feature/pages/account_page.rb feature/step_definitions/account/account_steps.rb
Set URL with parameters
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
Individual Elements
feature/pages/account/account_page.rb
- Find selectors:
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Set and Click methods:
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Text method:
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Select method:
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Matcher has_<element_name>?
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Wait_for_<element_name>
Individual Elements
feature/pages/account/account_page.rb feature/step_definitions/account/account_steps.rb
- Wait_until_<element_name>_visible/invisible
Element Collections
- Elements list:
Element Collections
feature/pages/account/account_page.rb
feature/step_definitions/
account/account_steps.rb
- Elements list:
Email Flow Case
Email Flow
Email Flow
Email Flow
Email Flow - Section
feature/pages/email/email_recipients.rb
Email Flow - Page
feature/pages/email/email_campaign_page.rb
Email Flow - Test Steps
feature/step_definitions/email/campaign_flow_steps.rb
Section inside page class
feature/step_definitions/email/email_campaign_statistics_page.rb
Section inside page class
feature/step_definitions/email/email_campaign_statistics_steps.rb
iFrames
iFramePage:
feature/pages/email/email_recipients.rb
Email Flow Page:
feature/pages/email/
email_campaign_page.rb
iFrames - Test Step
feature/step_definitions/email/campaign_flow_steps.rb
Questions (?)
Thanks!
Leonardo Giacomini
leonardo.giacomini@resultadosdigitais.com.br
https://pt.slideshare.net/LeonardoGiacomini
http://shipit.resultadosdigitais.com.br/

More Related Content

What's hot

Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
MongoDB
 
Le Wagon - React 101
Le Wagon - React 101Le Wagon - React 101
Le Wagon - React 101
Sébastien Saunier
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
valuebound
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.
 
Spring boot
Spring bootSpring boot
Spring boot
Bhagwat Kumar
 
Introducing Playwright's New Test Runner
Introducing Playwright's New Test RunnerIntroducing Playwright's New Test Runner
Introducing Playwright's New Test Runner
Applitools
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
Alessandro Valenti
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck
 
ReactJs
ReactJsReactJs
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologies
Bethmi Gunasekara
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
Nibu Baby
 
API Test Automation using Karate.pdf
API Test Automation using Karate.pdfAPI Test Automation using Karate.pdf
API Test Automation using Karate.pdf
Venessa Serrao
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
Sauce Labs
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
Pekka Klärck
 
What Is Virtual DOM In React JS.pptx
What Is Virtual DOM In React JS.pptxWhat Is Virtual DOM In React JS.pptx
What Is Virtual DOM In React JS.pptx
Akrati Rawat
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
Srinivas Katakam
 
Redux workshop
Redux workshopRedux workshop
Redux workshop
Imran Sayed
 
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon Studio
 
flask.pptx
flask.pptxflask.pptx
flask.pptx
asif290119
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Arjun Thakur
 

What's hot (20)

Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Le Wagon - React 101
Le Wagon - React 101Le Wagon - React 101
Le Wagon - React 101
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introducing Playwright's New Test Runner
Introducing Playwright's New Test RunnerIntroducing Playwright's New Test Runner
Introducing Playwright's New Test Runner
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
ReactJs
ReactJsReactJs
ReactJs
 
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologies
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
API Test Automation using Karate.pdf
API Test Automation using Karate.pdfAPI Test Automation using Karate.pdf
API Test Automation using Karate.pdf
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
What Is Virtual DOM In React JS.pptx
What Is Virtual DOM In React JS.pptxWhat Is Virtual DOM In React JS.pptx
What Is Virtual DOM In React JS.pptx
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
 
Redux workshop
Redux workshopRedux workshop
Redux workshop
 
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
 
flask.pptx
flask.pptxflask.pptx
flask.pptx
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
 

Similar to How to structure page objects with SitePrism

7.4 Admin Tools and Best Practices
7.4 Admin Tools and Best Practices7.4 Admin Tools and Best Practices
7.4 Admin Tools and Best Practices
TargetX
 
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
Tarun Gehani
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceSantex Group
 
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
Tarun Gehani
 
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
 
Front-End Developer's Career Roadmap
Front-End Developer's Career RoadmapFront-End Developer's Career Roadmap
Front-End Developer's Career Roadmap
WebStackAcademy
 
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
Richard Robinson
 
Why do you use java script
Why do you use  java script Why do you use  java script
Why do you use java script
kazuhisa kawashima
 
Getting started with Scrapy in Python
Getting started with Scrapy in PythonGetting started with Scrapy in Python
Getting started with Scrapy in PythonViren Rajput
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
Andrii Yatsenko "Make the most of Twig"
Andrii Yatsenko "Make the most of Twig"Andrii Yatsenko "Make the most of Twig"
Andrii Yatsenko "Make the most of Twig"
Fwdays
 
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Lviv Startup Club
 
Techniques for building robust machine learning systems
Techniques for building robust machine learning systemsTechniques for building robust machine learning systems
Techniques for building robust machine learning systems
Stephen Whitworth
 
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin RoerMnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
MnSearch, The Minnesota Search Engine Marketing Association
 
Automation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and BeyondAutomation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and Beyond
TechWell
 
Ui automation
Ui automationUi automation
Ui automation
test test
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
Horacio Gonzalez
 
Clean application development tutorial
Clean application development tutorialClean application development tutorial
Clean application development tutorial
Adam Culp
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
Abhi Jain
 
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
Modern Workplace Conference Paris
 

Similar to How to structure page objects with SitePrism (20)

7.4 Admin Tools and Best Practices
7.4 Admin Tools and Best Practices7.4 Admin Tools and Best Practices
7.4 Admin Tools and Best Practices
 
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
How to Enhance Your SEO When Redesigning an Ecommerce Website - Tarun Gehani,...
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications Performance
 
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
 
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 ...
 
Front-End Developer's Career Roadmap
Front-End Developer's Career RoadmapFront-End Developer's Career Roadmap
Front-End Developer's Career Roadmap
 
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
 
Why do you use java script
Why do you use  java script Why do you use  java script
Why do you use java script
 
Getting started with Scrapy in Python
Getting started with Scrapy in PythonGetting started with Scrapy in Python
Getting started with Scrapy in Python
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Andrii Yatsenko "Make the most of Twig"
Andrii Yatsenko "Make the most of Twig"Andrii Yatsenko "Make the most of Twig"
Andrii Yatsenko "Make the most of Twig"
 
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
 
Techniques for building robust machine learning systems
Techniques for building robust machine learning systemsTechniques for building robust machine learning systems
Techniques for building robust machine learning systems
 
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin RoerMnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
MnSearch Snippets April 2019: Screaming Frog Custom Extraction - Griffin Roer
 
Automation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and BeyondAutomation Abstractions: Page Objects and Beyond
Automation Abstractions: Page Objects and Beyond
 
Ui automation
Ui automationUi automation
Ui automation
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...
 
Clean application development tutorial
Clean application development tutorialClean application development tutorial
Clean application development tutorial
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
 
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

How to structure page objects with SitePrism

Editor's Notes

  1. Abstração da interface do usuário que pode ser usada nos testes. A maneira mais comum de fazer isso é modelar cada página como uma classe e, em seguida, usar instâncias dessas classes em seus testes. Se uma classe representa uma página, então cada elemento da página é representado por um método que, quando chamado, retorna uma referência ao elemento que pode então ser atendido (clicado, definir valor de texto) ou consultado (é habilitado? ?). SitePrism é baseado em torno deste conceito, mas vai mais longe como você verá abaixo, permitindo também a modelagem de seções repetidas que aparecem em várias páginas, ou muitas vezes em uma página usando o conceito de seções. O Page Object é um padrão que funciona como interface de acesso a elementos da camada de visão – para aplicações web ele representa uma página HTML. Ele é aplicado para abstrair as páginas de uma aplicação com o objetivo de reduzir o acoplamentoentre os casos de teste e a aplicação a ser testada.
  2. Abstração da interface do usuário que pode ser usada nos testes. A maneira mais comum de fazer isso é modelar cada página como uma classe e, em seguida, usar instâncias dessas classes em seus testes. Se uma classe representa uma página, então cada elemento da página é representado por um método que, quando chamado, retorna uma referência ao elemento que pode então ser atendido (clicado, definir valor de texto) ou consultado (é habilitado? ?). SitePrism é baseado em torno deste conceito, mas vai mais longe como você verá abaixo, permitindo também a modelagem de seções repetidas que aparecem em várias páginas, ou muitas vezes em uma página usando o conceito de seções. O Page Object é um padrão que funciona como interface de acesso a elementos da camada de visão – para aplicações web ele representa uma página HTML. Ele é aplicado para abstrair as páginas de uma aplicação com o objetivo de reduzir o acoplamentoentre os casos de teste e a aplicação a ser testada.