2012 selenium kiev_08_final
TRANSCRIPT
![Page 1: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/1.jpg)
Automation in Concur Technologies. Practical Experience. Anastasiya Nesterenko
QA UI Automation Lead
![Page 2: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/2.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Presenter: Anastasiya Nesterenko
Lead of QA UI Automation Team In IT – 8 years In Concur – 3.5 years
Likes beer and socializing
![Page 3: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/3.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Presentation Agenda
About ConcurHow do we do automationWhy move to Selenium 2?Demo
![Page 4: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/4.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Concur
Leading provider of integrated travel and expense management solutions
90 countries 15 000 companies 15 000 000 users
![Page 5: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/5.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Automation Goals
Reliable Accurate Maintainable Extendable Scalable
![Page 6: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/6.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Some Challenges
Different technologies involvedContinuous execution: 24/7Monthly releases
![Page 7: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/7.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Teams & Responsibilities
UI9 people
Execution5 people
Framework5 people
QA Automation
![Page 8: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/8.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Components, Tools and Frameworks
Dispatcher
Data StoreWeb UI
Test Execution Tasks
ResultTask
Execution Results
Selenium
VM – Robot #1
Selenium
VM – Robot #N
ResultTask
. . .
VMware Farm
![Page 9: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/9.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Automation Data
•Smoke tests
•Continuous: 24/7/365
Execution
•470+ test suites on both Seleniums
•15..50 min per suite (3..5x faster than manual run)
•5+ times per release (one month)
•500+ executions daily
•35+ bugs per release (regressions)
Some numbers
![Page 10: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/10.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
UI Automation: Selenium 1
•2.5 years: Selenium 1 (HTML)
Test Runner, SQL, JavaScript
General•3
20+ suites
Stats
•No programming experience required
•Execution with the Test Runner
Benefits
![Page 11: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/11.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
![Page 12: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/12.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
![Page 13: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/13.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
UI Automation: Selenium 1
•Ajax = No recording
•CSS Selectors
Specifics
•Lack of object-oriented style
Challenges
•Internal ‘LEGO’ development
Painkillers
![Page 14: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/14.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
UI Automation: Selenium 2
•Since September 2011: transition to Selenium2/ WebDriver
General•4
5+ suites
Stats
•Robust tests
•Multiple browsers support
•Faster development
Benefits
![Page 15: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/15.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Speed of Development: S1 vs S2
Series10
0.5
1
1.5
2
2.5
Selenium 1Selenium 2
Dev
elo
pm
ent
spee
d,
mo
nth
/ p
erso
n
Jun 09 Jul 09 Aug 09 Sep 09 Oct 09 Nov 09
Sep 11 Oct 11 Nov 11 Dec 11 Jan 12 Feb 12
![Page 16: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/16.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
UI Automation: Selenium 2
•Selenium 1: 15-20% of time
•Selenium 2: 5-10% of time
Support Efforts
•Proving investment in transition
Strategy
•Programming
•Finding good synchronization
•Knowledge building and sharing
•Coexistence with Selenium 1
Challenges
![Page 17: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/17.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
UI Automation: Selenium 2
•Collecting feedback
Team
•Easier to test complex scenarios
•Support of popup windows testing
Less Pain
•Window size affects testing
•Focus sensitivity
Grain of Salt
![Page 18: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/18.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
The Main Stages of…… ?
![Page 19: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/19.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Main Stages of Transition
•Java, OOP
•Page objects pattern
Building Knowledge
•Initial design of Page Objects
•CSS Selectors vs. XPath evaluation
First Steps
•Redesign of Page Objects
•Conversion to XPath
Refactoring
![Page 20: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/20.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Main Stages of Transition•Ex
ecute daily, fix broken stuff
•Tweak for IE
Adoption
•Review and improve design
JAVA / OOP
•Do trainings
•Support other teams
Education
![Page 21: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/21.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Selenium 2: Advices
Evaluate the benefits of switching Identify the early adoptersEstablish communication with devsAim for the best practices
![Page 22: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/22.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Road to Go…
Increase coverage Concentrate on the most complex partsComplete S1 -> S2 transitionKeep improving quality
![Page 23: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/23.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Demo
![Page 24: 2012 selenium kiev_08_final](https://reader035.vdocuments.net/reader035/viewer/2022081401/5575dd25d8b42a917e8b5294/html5/thumbnails/24.jpg)
© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.
@metaxa_cz #SeleniumCamp
Automation ROCKS!
Thank you. Questions?
@metaxa_cz