Automation @ Incapsula 
Michal Pal, QA Team Lead at 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 
• 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 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
STEPS - Incapsula Automation Tool 
• 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 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
Before Diving In - Why Steps 
• 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 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved. 
shhhh - just wait until they 
sign the contract before you 
start talking about the way 
things really work…
Steps Is Easy 
• 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 ! 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
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 
Steps uses Selenium to: 
• Open and close browsers 
• Navigate and get URLs 
• Eval Jquery 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved. 
Let’s have a drive… of Selenium Webdriver
Test in Steps 
• 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 
Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
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.

Selenium Automation at Incapsula

  • 1.
    Automation @ Incapsula Michal Pal, QA Team Lead at Incapsula
  • 2.
    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.
  • 3.
    Incapsula Testing Methodology • 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 Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 4.
    STEPS - IncapsulaAutomation Tool • 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 Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 5.
    Before Diving In- Why Steps • 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 Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved. shhhh - just wait until they sign the contract before you start talking about the way things really work…
  • 6.
    Steps Is Easy • 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 ! Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 7.
    Steps Architecture Incapsula,Inc. / Proprietary and Confidential. All Rights Reserved.
  • 8.
    Steps Architecture Incapsula,Inc. / Proprietary and Confidential. All Rights Reserved.
  • 9.
    How does itwork? Project Organization Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 10.
    Selenium in Steps Steps uses Selenium to: • Open and close browsers • Navigate and get URLs • Eval Jquery Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved. Let’s have a drive… of Selenium Webdriver
  • 11.
    Test in Steps • 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 Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 12.
    Live Demo -Steps how does it work Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 13.
    Live Demo -Dashboard and Mail Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 14.
    What’s next? •Tools for visual testing • Different Browsers • Bugzilla to Dashboard • Performance Tests • Report Graphs Incapsula, Inc. / Proprietary and Confidential. All Rights Reserved.
  • 15.
    Questions? Incapsula, Inc./ Proprietary and Confidential. All Rights Reserved.