Your SlideShare is downloading. ×
JAVA User Group Bern  - Selenium
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JAVA User Group Bern - Selenium

1,459
views

Published on

Selenium test automation

Selenium test automation


1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,459
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SELENIUMTHE CURE FOR MERCURY POISONINGMICHAEL PALOTAS – HEAD OF QUALITY ENGINEERING EUROPEOCTOBER 24 2012
  • 2. EBAY INC. FACTS• Founded in 1995 • Every 30 seconds, a woman’s handbag is purchased on eBay Mobile.• Based in San Jose, California • Every 2 minutes, a tablet is bought through eBay Mobile• 28000 employees worldwide• >100 million active buyers and sellers worldwide • Every week, more than 8,000 cars and 340,000 car parts are sold through eBay’s mobile apps.• 68 Billion USD transaction volume in 2011 • 7,493 tablets sold weekly from April – June;• 2000 USD transaction volume every second enough to cover the surface of 3 Olympic-sized pools.• >100 million downloads of eBay Inc’s mobile apps• Mobile transaction volume will double in 2012 to 10 billion USD• 1.7 million items listed via mobile apps every week• >10 Petabytes of data in Hadoop and Teradata clusters• 2 billion page views every day• 75 billion database calls every day SELENIUM – THE CURE FOR MERCURY POISONING 2
  • 3. WHO AM I?MICHAEL PALOTASHEAD OF QUALITY ENGINEERING EUROPEMPALOTAS@EBAY.COMMICHAEL.PALOTAS@GRIDFUSION.NET+41 79 6690708http://ch.linkedin.com/in/michaelpalotashttp://www.xing.com/profile/Michael_Palotas SELENIUM – THE CURE FOR MERCURY POISONING 3
  • 4. Selenium was so named because Huggins, dissatisfied with testing tools on the market, was seeking a name that would position the product as an alternative to Mercury Interactive QuickTest Professional commercial testing software. The name, Selenium, was selected because selenium mineral supplements serve as a cure for mercury poisoning, Huggins explained.http://news.techworld.com/applications/3272444/open-source-selenium-web-app-test-suite-to-support-iphone-and-android/ SELENIUM – THE CURE FOR MERCURY POISONING 4
  • 5. SELENIUM VS. QTP JOB TRENDS SELENIUM – THE CURE FOR MERCURY POISONING 5
  • 6. AUTOMATION IS GOOD…BUT Manual• Tools help, but tools don’t test• Manual testing is equally important• Manual (exploratory) and automated testing complement each other Automation SELENIUM – THE CURE FOR MERCURY POISONING 6
  • 7. TEST AUTOMATION – WHY?• NOT to replace people• To save time and to reinvest that time into manual testing• To get early and instant feedback• Regression testing only• Safety net SELENIUM – THE CURE FOR MERCURY POISONING 7
  • 8. SELENIUM
  • 9. WHAT IS SELENIUM? Selenium automates browsers…that’s it Selenium is becoming a W3C standard: http://www.w3.org/TR/webdriver SELENIUM – THE CURE FOR MERCURY POISONING 9
  • 10. WHAT DO WE DO WITH SELENIUM? End to End functional test automation Manual Tests Selenium space E2 E Test s Integration Tests Unit Tests SELENIUM – THE CURE FOR MERCURY POISONING 10
  • 11. A LITTLE SELENIUM HISTORY AT EBAY Selenium2 / Webdriver Selenium GRID Selenium RC Selenium IDEHome baked solution SELENIUM – THE CURE FOR MERCURY POISONING 11
  • 12. HIGH LEVEL INFRASTRUCTURE ESX vCenter Server Selenium ESX Web GRID HUB Frontend ESX ESX TestNG ESX API Test Type ESX DB SELENIUM – THE CURE FOR MERCURY POISONING 12
  • 13. SELENIUM GRIDSequential Execution Parallel Execution Test Test Test Test Parallel Execution Parallel Execution Test Test Test Test Test Test Test Test Test Test Test Test Test 1 2 3 … 4500 Execution Time Execution TimeExecution time: Execution time:7000 minutes (~116 hours = ~5 days) 60 minutes by using 150 Virtual Machines /- 4500 end-to-end regression test cases- 2-3 minutes execution time for each test Browsers using the Selenium GRID SELENIUM – THE CURE FOR MERCURY POISONING 13
  • 14. TestNG• Data Provider• Dependency management• Groups• Listeners + Reports SELENIUM – THE CURE FOR MERCURY POISONING 14
  • 15. PAGES AND FLOWS eCommerce shopping site like eBay Select View Order Review Payment Category Summary Provider Search View View Update Item Category Orderlist View Delete Product View Item Shopping Cart Page Page Checkout Page Success Page SELENIUM – THE CURE FOR MERCURY POISONING 15
  • 16. HIGH LEVEL TEST ARCHITECTURE Tests Flow Objects Page Objects WebDriver Browser SELENIUM – THE CURE FOR MERCURY POISONING 16
  • 17. PAGE OBJECTS• http://code.google.com/p/selenium/wiki/PageObjects• Page objects model the pages and page interactions• Reduce code duplication• Reduce maintenance• Easy international support• Public methods represent the service of a page• Can be a subsection of a page• Don’t make assertions in page objects SELENIUM – THE CURE FOR MERCURY POISONING 17
  • 18. PAGE OBJECT EXAMPLE SELENIUM – THE CURE FOR MERCURY POISONING 18
  • 19. MOBILE TESTING
  • 20. EBAY’S MOBILE PRODUCTS Mobile Web Android Native App iOS Native App SELENIUM – THE CURE FOR MERCURY POISONING 20
  • 21. MOBILE TEST AUTOMATION REQUIREMENTS• Use load balancer features of Selenium GRID for parallel execution• Manage multiple applications / versions / languages• Native app should not need to be modified• Native app runtime inspection support SELENIUM – THE CURE FOR MERCURY POISONING 21
  • 22. MOBILE WEB TEST AUTOMATION• We use Selenium AndroidDriver and iPhoneDriver• Tests are written in JAVA and are similar to web tests• Tests are only executed on emulators SELENIUM – THE CURE FOR MERCURY POISONING 22
  • 23. MOBILE WEB TEST CASE Tests Flow ObjectsObjects Page SELENIUM – THE CURE FOR MERCURY POISONING 23
  • 24. ANDROID APP AUTOMATION• We created the open source project CALABASH-DRIVER• CALABASH-DRIVER integrates Calabash-Android into Selenium GRID• CALABASH-DRIVER offers a Webdriver-like Java API for writing tests SELENIUM – THE CURE FOR MERCURY POISONING 24
  • 25. ANDROID APP TEST CASE Tests Flow ObjectsObjectsDialog SELENIUM – THE CURE FOR MERCURY POISONING 25
  • 26. AUTOMATION OF IOS APPS• We created the open source project iOS-Driver• iOS-Driver integrates Apple’s official tool “UI Automation” into Selenium GRID• iOS-Driver offers a convenient Webdriver-like Java API for writing tests SELENIUM – THE CURE FOR MERCURY POISONING 26
  • 27. iOS APP TEST CASE TestsObjects FlowObjectsDialog SELENIUM – THE CURE FOR MERCURY POISONING 27
  • 28. SUMMARY• Use of open source tools enables innovation from within the organization• World wide recognition for our work• Zero attrition in 4 years!• Solutions are integrated into the Selenium Grid which enables us to scale• Same concept for automation of Web, Win32, mobile web, native apps• Extremely low maintenance due to use of page object pattern• Fast rampup for engineers due to similar approach SELENIUM – THE CURE FOR MERCURY POISONING 28
  • 29. CHECK IT OUT ON GITHUB• https://github.com/freynaud/ios-driver• http://calabash-driver.github.com SELENIUM – THE CURE FOR MERCURY POISONING 29
  • 30. THANK YOU!COMMENTS?
  • 31. WE ARE HIRING!http://ebaycareers.com/Or contact me: mpalotas@ebay.com