SlideShare a Scribd company logo
1 of 21
Pitfalls and solutions
Speaker’s info:
 Lead Test Engineer at GlobalLogic
 Consultant and mentor: http://lessons2.ru/consulting
 Editor and moderator: http://automated-testing.info
 Certified ISTQB engineer
Contacts and contributions:
 Email: serhii.s.korol@gmail.com
 GitHub: sskorol
 Blog: http://qa-automation-notes.blogspot.com
 Annotations are not extendable.
 Overhead with plain jdbc driver.
 How to manage sessions across threads?
 How to access multiple data sources?
 A wheel has already been invented.
 Don’t be afraid of annotations.
 Java 8 is your weapon.
 Avoid spamming classes with multiple data
providers.
Libraries:
 Vibur: http://vibur.org/vibur-object-pool
 AspectJ: https://eclipse.org/aspectj
 Thread-safe containers save your nerve cells.
 CapabilityMatcher is the Lord's Grid’s Eye.
 5-lines generic DataProvider protects against N
more specific implementations.
 Object pool makes test scenarios more realistic.
 Environment watcher could be your best
housekeeper.
Selenium Camp 2016 - Effective UI tests scaling on Java

More Related Content

What's hot

Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgSauce Labs
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanvodQA
 
Selenium Best Practices with Jason Huggins
Selenium Best Practices with Jason HugginsSelenium Best Practices with Jason Huggins
Selenium Best Practices with Jason HugginsSauce Labs
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven DevelopmentSiva Arunachalam
 
Web automation with Selenium for software engineers
Web automation with Selenium for software engineersWeb automation with Selenium for software engineers
Web automation with Selenium for software engineersMikalai Alimenkou
 
Introduction to logging in django
Introduction to logging in djangoIntroduction to logging in django
Introduction to logging in djangoSiva Arunachalam
 
WTF TDD?
WTF TDD?WTF TDD?
WTF TDD?jeremyw
 
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Alina Dolgikh
 
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011pointstechgeeks
 
Azphp phpunit-jenkins
Azphp phpunit-jenkinsAzphp phpunit-jenkins
Azphp phpunit-jenkinsEric Cope
 
Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014Justin Ison
 
A Sampling of Tools
A Sampling of ToolsA Sampling of Tools
A Sampling of ToolsDawn Code
 
Meetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com ProtractorMeetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com ProtractorStefan Teixeira
 
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012).NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)lancehilliard
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriverRakuten Group, Inc.
 
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...PROIDEA
 
Selenium course training institute ameerpet hyderabad – Best software trainin...
Selenium course training institute ameerpet hyderabad – Best software trainin...Selenium course training institute ameerpet hyderabad – Best software trainin...
Selenium course training institute ameerpet hyderabad – Best software trainin...Sathya Technologies
 

What's hot (20)

Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh Mohan
 
Selenium Best Practices with Jason Huggins
Selenium Best Practices with Jason HugginsSelenium Best Practices with Jason Huggins
Selenium Best Practices with Jason Huggins
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Web automation with Selenium for software engineers
Web automation with Selenium for software engineersWeb automation with Selenium for software engineers
Web automation with Selenium for software engineers
 
Introduction to logging in django
Introduction to logging in djangoIntroduction to logging in django
Introduction to logging in django
 
WTF TDD?
WTF TDD?WTF TDD?
WTF TDD?
 
PyCon Ukraine 2014
PyCon Ukraine 2014PyCon Ukraine 2014
PyCon Ukraine 2014
 
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
 
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011
 
What is Swagger?
What is Swagger?What is Swagger?
What is Swagger?
 
Azphp phpunit-jenkins
Azphp phpunit-jenkinsAzphp phpunit-jenkins
Azphp phpunit-jenkins
 
Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014
 
A Sampling of Tools
A Sampling of ToolsA Sampling of Tools
A Sampling of Tools
 
Meetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com ProtractorMeetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
 
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012).NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)
.NET Unit Testing w/ Microsoft Fakes (TechCamp Memphis Spring 2012)
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
 
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
 
Selenium course training institute ameerpet hyderabad – Best software trainin...
Selenium course training institute ameerpet hyderabad – Best software trainin...Selenium course training institute ameerpet hyderabad – Best software trainin...
Selenium course training institute ameerpet hyderabad – Best software trainin...
 

Viewers also liked

Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talkStephen Donner
 
jobDSL plugin: настройка jenkins ci скриптом
jobDSL plugin: настройка jenkins ci скриптомjobDSL plugin: настройка jenkins ci скриптом
jobDSL plugin: настройка jenkins ci скриптомVasilii Chernov
 
RESUME (TAPAN) DOCX.MAY,2016
RESUME (TAPAN) DOCX.MAY,2016RESUME (TAPAN) DOCX.MAY,2016
RESUME (TAPAN) DOCX.MAY,2016Tapan Dutta
 
Paul Wrighton resume Nov 2016
Paul Wrighton resume Nov 2016Paul Wrighton resume Nov 2016
Paul Wrighton resume Nov 2016Paul Wrighton
 
Jacob Levine Dissertation
Jacob Levine DissertationJacob Levine Dissertation
Jacob Levine DissertationJacob Levine
 
M.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraM.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraPradeep Mishra
 
Martin,Dustin.thesis
Martin,Dustin.thesisMartin,Dustin.thesis
Martin,Dustin.thesisDustin Martin
 
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN AndresGallegos1212
 
Kelompok 9.pptx rahma
Kelompok 9.pptx rahmaKelompok 9.pptx rahma
Kelompok 9.pptx rahmaRahmatugas
 
Presentation on advance tax
Presentation on advance taxPresentation on advance tax
Presentation on advance taxPooja Gupta
 
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)Jaeha Woo
 
Selenium Gridで遊ぼう
Selenium Gridで遊ぼうSelenium Gridで遊ぼう
Selenium Gridで遊ぼう洋史 東平
 
Fast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-gridFast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-gridJean-Michel Garnier
 

Viewers also liked (20)

Selenium-Grid-Extras
Selenium-Grid-ExtrasSelenium-Grid-Extras
Selenium-Grid-Extras
 
Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talk
 
jobDSL plugin: настройка jenkins ci скриптом
jobDSL plugin: настройка jenkins ci скриптомjobDSL plugin: настройка jenkins ci скриптом
jobDSL plugin: настройка jenkins ci скриптом
 
Presentation
PresentationPresentation
Presentation
 
RESUME (TAPAN) DOCX.MAY,2016
RESUME (TAPAN) DOCX.MAY,2016RESUME (TAPAN) DOCX.MAY,2016
RESUME (TAPAN) DOCX.MAY,2016
 
Paul Wrighton resume Nov 2016
Paul Wrighton resume Nov 2016Paul Wrighton resume Nov 2016
Paul Wrighton resume Nov 2016
 
Jacob Levine Dissertation
Jacob Levine DissertationJacob Levine Dissertation
Jacob Levine Dissertation
 
M.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraM.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep Mishra
 
dirtywarindex
dirtywarindexdirtywarindex
dirtywarindex
 
Martin,Dustin.thesis
Martin,Dustin.thesisMartin,Dustin.thesis
Martin,Dustin.thesis
 
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN
MATRIMONIO Y DIVORCIO EN LA ACTUAL CONSTITUCIÓN
 
BMW 740li report
BMW 740li reportBMW 740li report
BMW 740li report
 
msorianoresume2
msorianoresume2msorianoresume2
msorianoresume2
 
Kelompok 9.pptx rahma
Kelompok 9.pptx rahmaKelompok 9.pptx rahma
Kelompok 9.pptx rahma
 
RESUME
RESUMERESUME
RESUME
 
Enfoque 017 (2)
Enfoque 017 (2)Enfoque 017 (2)
Enfoque 017 (2)
 
Presentation on advance tax
Presentation on advance taxPresentation on advance tax
Presentation on advance tax
 
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)
Tableau 라이브 온라인 교육 - 통계 분석 (Statistics)
 
Selenium Gridで遊ぼう
Selenium Gridで遊ぼうSelenium Gridで遊ぼう
Selenium Gridで遊ぼう
 
Fast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-gridFast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-grid
 

Similar to Selenium Camp 2016 - Effective UI tests scaling on Java

Writing Android Libraries
Writing Android LibrariesWriting Android Libraries
Writing Android Librariesemanuelez
 
Analyzing .Net Application Memory Usage And Issues
Analyzing .Net Application Memory Usage And IssuesAnalyzing .Net Application Memory Usage And Issues
Analyzing .Net Application Memory Usage And IssuesGreg Sohl
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Alexandre (Shura) Iline
 
Java Attacks & Defenses - End of Year 2010 Presentation
Java Attacks & Defenses - End of Year 2010 PresentationJava Attacks & Defenses - End of Year 2010 Presentation
Java Attacks & Defenses - End of Year 2010 PresentationJames Hamilton
 
Real World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case StudyReal World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case Studyhousecor
 
Creating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with TestcontainersCreating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with TestcontainersPaul Balogh
 
Leaner microservices with Java 10
Leaner microservices with Java 10Leaner microservices with Java 10
Leaner microservices with Java 10Arto Santala
 
Geek Sync | Understanding Oracle Database Security
Geek Sync | Understanding Oracle Database SecurityGeek Sync | Understanding Oracle Database Security
Geek Sync | Understanding Oracle Database SecurityIDERA Software
 
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGEA CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGENathan Mathis
 
Audit your reactive applications
Audit your reactive applicationsAudit your reactive applications
Audit your reactive applicationsOCTO Technology
 
Eclipse Demo Camp Bangalore 2009 - JSDT
Eclipse Demo Camp Bangalore 2009 - JSDTEclipse Demo Camp Bangalore 2009 - JSDT
Eclipse Demo Camp Bangalore 2009 - JSDTdeepakazad
 
Testing Storm components with Groovy and Spock
Testing Storm components with Groovy and SpockTesting Storm components with Groovy and Spock
Testing Storm components with Groovy and SpockEugene Dvorkin
 
Jdk Tools For Performance Diagnostics
Jdk Tools For Performance DiagnosticsJdk Tools For Performance Diagnostics
Jdk Tools For Performance DiagnosticsDror Bereznitsky
 
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh  - Some new vulnerabilities in modern web applicationNguyen Phuong Truong Anh  - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web applicationSecurity Bootcamp
 

Similar to Selenium Camp 2016 - Effective UI tests scaling on Java (20)

Writing Android Libraries
Writing Android LibrariesWriting Android Libraries
Writing Android Libraries
 
Complete java
Complete javaComplete java
Complete java
 
Analyzing .Net Application Memory Usage And Issues
Analyzing .Net Application Memory Usage And IssuesAnalyzing .Net Application Memory Usage And Issues
Analyzing .Net Application Memory Usage And Issues
 
JAVA Collection and generics
JAVA Collection and genericsJAVA Collection and generics
JAVA Collection and generics
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
 
Node.js an Exectutive View
Node.js an Exectutive ViewNode.js an Exectutive View
Node.js an Exectutive View
 
JavaSecure
JavaSecureJavaSecure
JavaSecure
 
Java Attacks & Defenses - End of Year 2010 Presentation
Java Attacks & Defenses - End of Year 2010 PresentationJava Attacks & Defenses - End of Year 2010 Presentation
Java Attacks & Defenses - End of Year 2010 Presentation
 
Real World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case StudyReal World Single Page App - A Knockout Case Study
Real World Single Page App - A Knockout Case Study
 
Creating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with TestcontainersCreating Realistic Unit Tests with Testcontainers
Creating Realistic Unit Tests with Testcontainers
 
Leaner microservices with Java 10
Leaner microservices with Java 10Leaner microservices with Java 10
Leaner microservices with Java 10
 
Geek Sync | Understanding Oracle Database Security
Geek Sync | Understanding Oracle Database SecurityGeek Sync | Understanding Oracle Database Security
Geek Sync | Understanding Oracle Database Security
 
.NET RDF APIs
.NET RDF APIs.NET RDF APIs
.NET RDF APIs
 
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGEA CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
 
Audit your reactive applications
Audit your reactive applicationsAudit your reactive applications
Audit your reactive applications
 
Eclipse Demo Camp Bangalore 2009 - JSDT
Eclipse Demo Camp Bangalore 2009 - JSDTEclipse Demo Camp Bangalore 2009 - JSDT
Eclipse Demo Camp Bangalore 2009 - JSDT
 
mitra_resume-2
mitra_resume-2mitra_resume-2
mitra_resume-2
 
Testing Storm components with Groovy and Spock
Testing Storm components with Groovy and SpockTesting Storm components with Groovy and Spock
Testing Storm components with Groovy and Spock
 
Jdk Tools For Performance Diagnostics
Jdk Tools For Performance DiagnosticsJdk Tools For Performance Diagnostics
Jdk Tools For Performance Diagnostics
 
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh  - Some new vulnerabilities in modern web applicationNguyen Phuong Truong Anh  - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
 

Recently uploaded

Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Recently uploaded (20)

Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Selenium Camp 2016 - Effective UI tests scaling on Java

  • 2. Speaker’s info:  Lead Test Engineer at GlobalLogic  Consultant and mentor: http://lessons2.ru/consulting  Editor and moderator: http://automated-testing.info  Certified ISTQB engineer Contacts and contributions:  Email: serhii.s.korol@gmail.com  GitHub: sskorol  Blog: http://qa-automation-notes.blogspot.com
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.  Annotations are not extendable.  Overhead with plain jdbc driver.  How to manage sessions across threads?  How to access multiple data sources?
  • 12.  A wheel has already been invented.  Don’t be afraid of annotations.  Java 8 is your weapon.  Avoid spamming classes with multiple data providers.
  • 13.
  • 14.
  • 15. Libraries:  Vibur: http://vibur.org/vibur-object-pool  AspectJ: https://eclipse.org/aspectj
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.  Thread-safe containers save your nerve cells.  CapabilityMatcher is the Lord's Grid’s Eye.  5-lines generic DataProvider protects against N more specific implementations.  Object pool makes test scenarios more realistic.  Environment watcher could be your best housekeeper.