SELENIUM –CI USING OPEN SOURCE TOOL Saranya K (Test Analyst) Gopinath M(Test Manager) Babu VL (Head - Testing) Excelacom Technologies
Abstract Selenium is an open source automation tool that supports almost all browsers, languages and Operating Systems. But there are certain limitations that stops us to achieve Continuous Integration using Selenium. Handling desktop applications Locating elements when values are dynamic Publishing reports
Other Open source Tools What is the solution? AutoIT – Handling desktop application SikuliX – Locating Random elements ExtentReports – Report generation Jenkins – Continuous Integration Jenkins Se Other Open source Tools
Solution Architecture Start the Hub and Node bat files in the Hub and Node Machines respectively. The execution will begin in the Chosen Node with a chosen browser. Results will be stored in Hub machine(Reports and screens) Failed Screen will be stored in separate folder
Master Sheet Result Data Sheet Child Sheet Recovery script location Steps Child Sheet Location LinkScript Status Initiate node Childsheets\\Pre-requisites\\initiatenode Pass Login data Childsheets\\Login Recovery script location Child sheets location are specified Result Data Sheet Child Sheet Attribute Value CustName Cust20160803123456
AutoIT Handling Desktop Apps Open source tool Easy to learn Windows control Simulates keystrokes & move hover movements File Upload SELENIUM
Sample Code
How to Handle Randomly changing web elements??
SikuliX GUI interaction using screenshots Used when ID/name is not found It will check the appearance of the image and if match found, it will interact with the image accordingly. Cropped Images Eclipse Sikuli Jar Web Application
Test Report - ExtentReports Failure Report
Life Cycle - CI Selenium Scripts
Why Jenkins? Components Jenkins Open Source Yes Selenium Plugins Online Support Mail trigger Scheduled Build HTML Report Generation
Scheduled Execution - CI Builds can be scheduled using Cron pattern Status mail sent for each build for specified stakeholders Useful for weekend execution
Cron Expression
Test Results from Jenkins
Advantages of CI Benefits Nightly execution Test data preparation 1.Identifying issues at earliest 2.Increase in Quality of application 3.Nightly and weekend execution, Test data preparation 4. Swift execution AutoIt SikuliX ExtentReport Nightly execution Test data preparation Swift execution
Analogy
Defects identification Take Away Efficiency Execution is faster and generate effective reports Reliability Reusable for all projects & no coding skills required Extensibility Browser Compatibility Maintainability Easy to maintain Defects identification Early identification of defects
References & Appendix http://www.seleniumhq.org/docs/07_selenium_grid.jsp#hub-configuration http://learn-automation.com/selenium-integration-with-jenkins/ http://www.guru99.com/use-autoit-selenium.html http://teotti.com/sikulix-automated-testing-with-image-recognition/ http://extentreports.relevantcodes.com/java/
Author Biography Saranya Karuppusamy – Test Analyst Saranya has 3 + Years of Experience in Automation Testing involved in all the phases of Test Automation Life Cycle. Gopinath Mohanraj - Test Manager Has 10 + Years of Experience in Functional & Automation Testing in Telecom Domain and has knowledge in CRM, Billing Systems and Provisioning system. Also, managed and implemented Open source Tools / Commercial Tools to the organization requirements Babu VL – Head - Testing Has 20+ Years of experience in Testing Services Professional with expertise in heading product/project based testing services across Telecom, Mobile apps, Cloud , Enterprise and Infra verticals.
Questions & Answers
Thank You!!!