SlideShare a Scribd company logo
1 of 11
Let’s go farther…
Who am I ?
 QA Trainer at Start IT
 AQA Trainer at Start IT
 TPM / Lead BA at EPAM
 QA Lead at FastCTO
 Cypress.io enthusiast
 Ukraine addicted guy!
 Life Lover
Page Objects
Custom
Commands
Application Actions
Optimize your tests now
Page Objects
Page Objects
 Easy to reuse
 Easy to maintain
 Keeping tests free from
locators
1. Create folder 'PageObjects' folder in './cypress/support' folder
2. Add Page Object for any page you describe and call it f.e. ‘LoginPage.js’
3. Add some code, f.e. :
class LoginPage {
getUserName() {
return cy.get('#username');
}
getPassword(){
return cy.get('#pass');
}
getloginButton() {
return cy.get('.main-Button');
}
}
export default LoginPage
import HomePage from '../../support/PageObjects/LoginPage';
describe('Automation Test Suite ', function() {
....
it('Cypress Test Case', function() {
const loginPage=new LoginPage();
cy.visit('/');
loginPage.getUserName().type("admin");
loginPage.getPassword().type("admin");
homePage.getLoginButton().click();
cy.url().should('include', '/dashboard')
})
})
Custom Commands
Custom Commands
 Create custom functionalities
 Overwrite existing functionalities
 Reuse once described from test to
test
1. Go to './cypress/support'
2. Edit 'commands.js' file, or create new one
3. Don't forget to import newly created to './cypress/support/index.js'
cy.get('[data-test="username-field"]').type("Admin")
cy.get('[data-test="password-field"]').type("admin12345")
cy.get('[data-test="rememberme-checkbox"]').click()
cy.get('[data-test="login-button"]').click()
Cypress.Commands.add("getBySel", (selector) => {
return cy.get(`[data-test=${selector}]`)
})
cy.getBySel("username-field").type("Admin")
cy.getBySel("password-field").type("admin12345")
cy.getBySel("rememberme-checkbox").click()
cy.getBySel("login-button").click()
Application Actions
Application Actions
 Dispatch actions directly through
the application internal logic
 No UI interactions
 Saves your time
it('opens signup form', () => {
cy
.window()
.then(({ app }) => {
app.showLoginModule = true;
});
});
Questions Please
Bye!!!
www.facebook.com/kliuiev/
www.linkedin.com/in/kostiantynkliuiev/
t.me/kliuiev

More Related Content

Similar to КОСТЯНТИН КЛЮЄВ «Cypress.io : Let’s go farther» Online QADay 2022

JavaEE Security
JavaEE SecurityJavaEE Security
JavaEE SecurityAlex Kim
 
Page Objects Done Right - selenium conference 2014
Page Objects Done Right - selenium conference 2014Page Objects Done Right - selenium conference 2014
Page Objects Done Right - selenium conference 2014Oren Rubin
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in detailsMax Klymyshyn
 
Lesson_07_Spring_Security_Login_NEW.pdf
Lesson_07_Spring_Security_Login_NEW.pdfLesson_07_Spring_Security_Login_NEW.pdf
Lesson_07_Spring_Security_Login_NEW.pdfScott Anderson
 
What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.Mark Rees
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchMats Bryntse
 
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...Learnosity
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETBen Hall
 
Google App Engine Developer - Day3
Google App Engine Developer - Day3Google App Engine Developer - Day3
Google App Engine Developer - Day3Simon Su
 
Creating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemCreating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemAzharul Haque Shohan
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsAsif Mohaimen
 
Django tutorial 2009
Django tutorial 2009Django tutorial 2009
Django tutorial 2009Ferenc Szalai
 
«От экспериментов с инфраструктурой до внедрения в продакшен»​
«От экспериментов с инфраструктурой до внедрения в продакшен»​«От экспериментов с инфраструктурой до внедрения в продакшен»​
«От экспериментов с инфраструктурой до внедрения в продакшен»​FDConf
 
От экспериментов с инфраструктурой до внедрения в продакшен
От экспериментов с инфраструктурой до внедрения в продакшенОт экспериментов с инфраструктурой до внедрения в продакшен
От экспериментов с инфраструктурой до внедрения в продакшенDmitry Makhnev
 
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISEWINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISEHitesh Mohapatra
 

Similar to КОСТЯНТИН КЛЮЄВ «Cypress.io : Let’s go farther» Online QADay 2022 (20)

JavaEE Security
JavaEE SecurityJavaEE Security
JavaEE Security
 
Page Objects Done Right - selenium conference 2014
Page Objects Done Right - selenium conference 2014Page Objects Done Right - selenium conference 2014
Page Objects Done Right - selenium conference 2014
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
 
Spring Security.ppt
Spring Security.pptSpring Security.ppt
Spring Security.ppt
 
Lesson_07_Spring_Security_Login_NEW.pdf
Lesson_07_Spring_Security_Login_NEW.pdfLesson_07_Spring_Security_Login_NEW.pdf
Lesson_07_Spring_Security_Login_NEW.pdf
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha Touch
 
Test automation
Test  automationTest  automation
Test automation
 
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
 
Google App Engine Developer - Day3
Google App Engine Developer - Day3Google App Engine Developer - Day3
Google App Engine Developer - Day3
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Creating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemCreating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login System
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest plugins
 
Django tutorial 2009
Django tutorial 2009Django tutorial 2009
Django tutorial 2009
 
«От экспериментов с инфраструктурой до внедрения в продакшен»​
«От экспериментов с инфраструктурой до внедрения в продакшен»​«От экспериментов с инфраструктурой до внедрения в продакшен»​
«От экспериментов с инфраструктурой до внедрения в продакшен»​
 
От экспериментов с инфраструктурой до внедрения в продакшен
От экспериментов с инфраструктурой до внедрения в продакшенОт экспериментов с инфраструктурой до внедрения в продакшен
От экспериментов с инфраструктурой до внедрения в продакшен
 
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISEWINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
 
Java practical
Java practicalJava practical
Java practical
 

More from GoQA

АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»GoQA
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»GoQA
 
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...GoQA
 
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»GoQA
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»GoQA
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»GoQA
 
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...GoQA
 
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»GoQA
 
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»GoQA
 
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»GoQA
 
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...GoQA
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...GoQA
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»GoQA
 
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»GoQA
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...GoQA
 
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...GoQA
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»GoQA
 
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»GoQA
 
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»GoQA
 
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...GoQA
 

More from GoQA (20)

АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
АРТЕМ ГРИГОРЕНКО «Покращення процесів найму»
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
 
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
МОРРІС-ВСЕСЛАВ ШОСТАК «Роль QA в індустрії програмного та апаратного забезпеч...
 
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
ОКСАНА ГОРОЩУК «Improving Quality Through Root Cause Analysis»
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
 
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
СЕРГІЙ БРИТ «Як запускати тести з Playwright Java написані на Selenide. Не пе...
 
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
БОГДАН САВЧУК «IoT testing: Manual, Automation and Cyber Security techniques»
 
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
ЕЛЬМІР ІСКАНДЕРОВ «Bulletproof Your Software: The Magic of Security Autotests»
 
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
ІННА ДВОЙНІКОВА «Як вийти на Upwork та розширити горизонти QA»
 
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
КАТЕРИНА АБЗЯТОВА «Point of Growth: Transforming Challenges into Skill-Buildi...
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
 
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
СЕРГІЙ РУСІНЧУК «Розкриття майстерності QA команд через KPI»
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
 
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
Слуцька Вікторія - Виступити і не наступити на граблі: Як виступати QA спеціа...
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Планування стратегії розвитку тестування на проекті»
 
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
ОЛЕКСІЙ ОСТАПОВ «Створення плагінів для pytest»
 
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
 
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
ВЯЧЕСЛАВ САХАРОВ “Баги, хотфікси та воркераунди в космічній галузі. Вчимось н...
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
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 pragmaticsAndrey Dotsenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

КОСТЯНТИН КЛЮЄВ «Cypress.io : Let’s go farther» Online QADay 2022

  • 2. Who am I ?  QA Trainer at Start IT  AQA Trainer at Start IT  TPM / Lead BA at EPAM  QA Lead at FastCTO  Cypress.io enthusiast  Ukraine addicted guy!  Life Lover
  • 5. Page Objects  Easy to reuse  Easy to maintain  Keeping tests free from locators 1. Create folder 'PageObjects' folder in './cypress/support' folder 2. Add Page Object for any page you describe and call it f.e. ‘LoginPage.js’ 3. Add some code, f.e. : class LoginPage { getUserName() { return cy.get('#username'); } getPassword(){ return cy.get('#pass'); } getloginButton() { return cy.get('.main-Button'); } } export default LoginPage import HomePage from '../../support/PageObjects/LoginPage'; describe('Automation Test Suite ', function() { .... it('Cypress Test Case', function() { const loginPage=new LoginPage(); cy.visit('/'); loginPage.getUserName().type("admin"); loginPage.getPassword().type("admin"); homePage.getLoginButton().click(); cy.url().should('include', '/dashboard') }) })
  • 7. Custom Commands  Create custom functionalities  Overwrite existing functionalities  Reuse once described from test to test 1. Go to './cypress/support' 2. Edit 'commands.js' file, or create new one 3. Don't forget to import newly created to './cypress/support/index.js' cy.get('[data-test="username-field"]').type("Admin") cy.get('[data-test="password-field"]').type("admin12345") cy.get('[data-test="rememberme-checkbox"]').click() cy.get('[data-test="login-button"]').click() Cypress.Commands.add("getBySel", (selector) => { return cy.get(`[data-test=${selector}]`) }) cy.getBySel("username-field").type("Admin") cy.getBySel("password-field").type("admin12345") cy.getBySel("rememberme-checkbox").click() cy.getBySel("login-button").click()
  • 9. Application Actions  Dispatch actions directly through the application internal logic  No UI interactions  Saves your time it('opens signup form', () => { cy .window() .then(({ app }) => { app.showLoginModule = true; }); });