Selenium Automation at Incapsula

Post on 25-Jun-2015

258 views 4 download

Tags:

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.