selenium automation at incapsula
DESCRIPTION
Presentation slides from Michal Pal's talk on Incapsula's test framework "Steps" in Selenium Israel Meetup #6.TRANSCRIPT
Michal Pal, QA Team Lead at Incapsula
Automation @ Incapsula
About Incapsula
• Incapsula, a subsidiary of the data security company Imperva (NYSE:IMPV), offers a cloud-based solution that enables online businesses of all sizes to enjoy enterprise-grade website security, performance and availability. Through an application-aware global CDN platform, Incapsula provides any website or web application with best-of-breed Security, DDoS Protection, Load Balancing & Failover solutions
• SaaS
• Weekly Deployment
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Incapsula Testing Methodology
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
• Internal automation tool development (based on Java and js)
• No manual testers (!)
• Only regression testing
• Database replication on testing environment
• Environments - Staging, QA and Production
STEPS - Incapsula Automation Tool
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
• Play Framework• Java Infrastructure • JS Test Flows• Json - Environment variable• Database - mysql• Run Suites - Internal development (Web)• SVN - Subversion Control• Jenkins - cron jobs and deploy steps• Bugzilla• Spirent -Avalanche
Before Diving In - Why Steps
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
• Lessons and conclusion from other known testing tools and environments
• There is no silver bullet solution
• Changing and Improving without any dependencies
• Stable infrastructure -adding new tests is fast and easy
shhhh - just wait until they sign the contract before you start talking about the way things really work…
Steps Is Easy
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
• Steps uses javascript which is a known and simple language - adding new tests is fast and easy
• Jquery proved to be more stable than any Selenium.findelement
• Stable infrastructure -Java with minimum changes (only new utils that can’t be written in js)
• Steps -Includes MAIL, WEB, HISTORY - Meets ALL OUR NEEDS !
Steps Architecture
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Steps Architecture
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
How does it work? Project Organization
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Selenium in Steps
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Steps uses Selenium to:
• Open and close browsers
• Navigate and get URLs
• Eval Jquery
Let’s have a drive… of Selenium Webdriver
Test in Steps
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
• Txt File
• Test cases (js)
>Testing UI and on other clients (mail, ssh, bot clients, etc..)
>Test case holds multiple related tests
>Test cases are separated by titles
>Test cases may call java function
• Test cases titles - describe the flow and appears in the results reports
Live Demo - Steps how does it work
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Live Demo - Dashboard and Mail
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
What’s next?
• Tools for visual testing
• Different Browsers
• Bugzilla to Dashboard
• Performance Tests
• Report Graphs
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Questions?
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.