SlideShare a Scribd company logo
1 of 14
Download to read offline
Warin Laocharoen
Knowledge-Sharing Session - 23 May 2013
Java UI Unit Testing with
Jemmy
Wednesday, 22 May, 13
• What's Jemmy
• Jemmy API Usage
• Unit Testing with Jemmy
• Future Integration
• Q&A
Agenda
Wednesday, 22 May, 13
• A Java library that is used to create
automated tests for Java GUI applications.
• It contains methods to reproduce all user
actions which can be performed on
• Jemmy2 for Swing/AWT
• Jemmy3 for JavaFx components
What's Jemmy
Wednesday, 22 May, 13
• not so many tutorials
• not so many presentations and documents
• few samples
What's Jemmy ( cont. )
Wednesday, 22 May, 13
• Test Harness
Meaning it is not a tool for test execution.
Any harness which is able to execute tests
written in Java (such as JUnit, for example)
could be used to execute tests.
• Record-Replaying Tool
Jemmy is not ....
Wednesday, 22 May, 13
• the same JVM as tested-application
• simulate user operations on components by calling
events
• search components recursively by given criteria
• criteria defined as implementation of
ComponentChooser Interface
How Jemmy works ?
Wednesday, 22 May, 13
Jemmy Workflow
• Find controls you need to do action for
• Do something with that control
• Verify Results of the action
Find Do Verify
Failure Analysis
Pass Pass
Pass
Failed Failed Failed
Wednesday, 22 May, 13
Jemmy API
• Operators
used for capture components & actions
• QueueTool / Timeouts
timing tool
• Utility
Wednesday, 22 May, 13
Unit Testing with Jemmy
• integrated with Mock Framework (EasyMock)
• support Continuous Integration (Jenkins)
Wednesday, 22 May, 13
DEMO
Wednesday, 22 May, 13
• integrated with BDD
( Behavior-Driven Development )
• Borden Automated Regression Test supported
Future Integration
Wednesday, 22 May, 13
Based on Gherkins
Step Definitions
• Given
•When
•Then
•And
defined syntax with:
Wednesday, 22 May, 13
References
• http://jemmy.java.net
• http://wiki.netbeans.org/Jemmy
• http://www.slideshare.net/pa810p/jemmy-
introduction
• http://github.com/cucumber/cucumber-jvm
Wednesday, 22 May, 13
Q & A
Wednesday, 22 May, 13

More Related Content

What's hot

TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaEdureka!
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeterWSO2
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKEAbhishek Yadav
 
C++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyC++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyDror Helper
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 

What's hot (9)

Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
TestNG with selenium
TestNG with seleniumTestNG with selenium
TestNG with selenium
 
TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | Edureka
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
 
TestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKETestNG Session presented in Xebia XKE
TestNG Session presented in Xebia XKE
 
C++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyC++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the ugly
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Automation testing
Automation testingAutomation testing
Automation testing
 

Similar to Java UI Unit Testing with jemmy

J-meter Workshop Vodqa
J-meter Workshop VodqaJ-meter Workshop Vodqa
J-meter Workshop VodqaThoughtworks
 
JMeter Workshop vodQA
JMeter Workshop vodQAJMeter Workshop vodQA
JMeter Workshop vodQAvodQA
 
Eurostar innovation week 2 (3) (1)
Eurostar innovation week 2 (3) (1)Eurostar innovation week 2 (3) (1)
Eurostar innovation week 2 (3) (1)Sriram Angajala
 
Qtp training session I
Qtp training session IQtp training session I
Qtp training session IAisha Mazhar
 
Testing JavaScript Applications
Testing JavaScript ApplicationsTesting JavaScript Applications
Testing JavaScript ApplicationsMuhammad Samu
 
Unit testing
Unit testingUnit testing
Unit testingBrian Hu
 
Introduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsIntroduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsHabilelabs
 
Konstantinos Sidiropoulos - Testing microservices a real example
Konstantinos Sidiropoulos - Testing microservices a real exampleKonstantinos Sidiropoulos - Testing microservices a real example
Konstantinos Sidiropoulos - Testing microservices a real examplePetrosPlakogiannis
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going BaldDavid Carver
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter Knoldus Inc.
 
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...MobileMonday Estonia
 
Presentation sem 1.pptx
Presentation sem 1.pptxPresentation sem 1.pptx
Presentation sem 1.pptxdendi65
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Vahid Garousi
 

Similar to Java UI Unit Testing with jemmy (20)

J-meter Workshop Vodqa
J-meter Workshop VodqaJ-meter Workshop Vodqa
J-meter Workshop Vodqa
 
JMeter Workshop vodQA
JMeter Workshop vodQAJMeter Workshop vodQA
JMeter Workshop vodQA
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
 
Eurostar innovation week 2 (3) (1)
Eurostar innovation week 2 (3) (1)Eurostar innovation week 2 (3) (1)
Eurostar innovation week 2 (3) (1)
 
Jmeter
JmeterJmeter
Jmeter
 
Qtp training session I
Qtp training session IQtp training session I
Qtp training session I
 
Testing JavaScript Applications
Testing JavaScript ApplicationsTesting JavaScript Applications
Testing JavaScript Applications
 
Testing microservices
Testing microservicesTesting microservices
Testing microservices
 
Apache J meter
Apache J meterApache J meter
Apache J meter
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Unit testing
Unit testingUnit testing
Unit testing
 
Introduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsIntroduction to Protractor - Habilelabs
Introduction to Protractor - Habilelabs
 
Mobile Testing
Mobile TestingMobile Testing
Mobile Testing
 
Unit testing
Unit testingUnit testing
Unit testing
 
Konstantinos Sidiropoulos - Testing microservices a real example
Konstantinos Sidiropoulos - Testing microservices a real exampleKonstantinos Sidiropoulos - Testing microservices a real example
Konstantinos Sidiropoulos - Testing microservices a real example
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
 
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
 
Presentation sem 1.pptx
Presentation sem 1.pptxPresentation sem 1.pptx
Presentation sem 1.pptx
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
 

Recently uploaded

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 

Recently uploaded (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 

Java UI Unit Testing with jemmy

  • 1. Warin Laocharoen Knowledge-Sharing Session - 23 May 2013 Java UI Unit Testing with Jemmy Wednesday, 22 May, 13
  • 2. • What's Jemmy • Jemmy API Usage • Unit Testing with Jemmy • Future Integration • Q&A Agenda Wednesday, 22 May, 13
  • 3. • A Java library that is used to create automated tests for Java GUI applications. • It contains methods to reproduce all user actions which can be performed on • Jemmy2 for Swing/AWT • Jemmy3 for JavaFx components What's Jemmy Wednesday, 22 May, 13
  • 4. • not so many tutorials • not so many presentations and documents • few samples What's Jemmy ( cont. ) Wednesday, 22 May, 13
  • 5. • Test Harness Meaning it is not a tool for test execution. Any harness which is able to execute tests written in Java (such as JUnit, for example) could be used to execute tests. • Record-Replaying Tool Jemmy is not .... Wednesday, 22 May, 13
  • 6. • the same JVM as tested-application • simulate user operations on components by calling events • search components recursively by given criteria • criteria defined as implementation of ComponentChooser Interface How Jemmy works ? Wednesday, 22 May, 13
  • 7. Jemmy Workflow • Find controls you need to do action for • Do something with that control • Verify Results of the action Find Do Verify Failure Analysis Pass Pass Pass Failed Failed Failed Wednesday, 22 May, 13
  • 8. Jemmy API • Operators used for capture components & actions • QueueTool / Timeouts timing tool • Utility Wednesday, 22 May, 13
  • 9. Unit Testing with Jemmy • integrated with Mock Framework (EasyMock) • support Continuous Integration (Jenkins) Wednesday, 22 May, 13
  • 11. • integrated with BDD ( Behavior-Driven Development ) • Borden Automated Regression Test supported Future Integration Wednesday, 22 May, 13
  • 12. Based on Gherkins Step Definitions • Given •When •Then •And defined syntax with: Wednesday, 22 May, 13
  • 13. References • http://jemmy.java.net • http://wiki.netbeans.org/Jemmy • http://www.slideshare.net/pa810p/jemmy- introduction • http://github.com/cucumber/cucumber-jvm Wednesday, 22 May, 13
  • 14. Q & A Wednesday, 22 May, 13