Selenium Grid and Jenkins

23
SELENIUM GRID AND JENKINS

description

Selenium Grid and Jenkins. Outline. Why Selenium Grid Features / Components of Grid Grid Node and Grid Hub Why we thought of Selenium Grid Jenkins plug-in for selenium How to write tests – test design Working example. What is Selenium Grid. Usual Selenium Setup. Issues ?. - PowerPoint PPT Presentation

Transcript of Selenium Grid and Jenkins

Page 1: Selenium Grid and Jenkins

SELENIUM GRID AND JENKINS

Page 2: Selenium Grid and Jenkins

Outline Why Selenium Grid Features / Components of Grid Grid Node and Grid Hub Why we thought of Selenium Grid Jenkins plug-in for selenium How to write tests – test design Working example

Page 3: Selenium Grid and Jenkins

What is Selenium Grid Usual Selenium Setup

Page 4: Selenium Grid and Jenkins

Issues ? RC (Remote Control) is quite slow.

Takes a lot of time to complete all your test suits

• Not suitable for large scale testing

Can run a limited number of concurrent tests. About six browsers On same RC

Page 5: Selenium Grid and Jenkins

Work around ..

Page 6: Selenium Grid and Jenkins

Work around… Multiple RC’s to avoid the limitation on #

of parallel tests.

Issues: Test needs to be aware of the RC being used. Have to maintain a series of RC’s.

Page 7: Selenium Grid and Jenkins

Solution : Selenium Grid All your components

All Can be in different machines.. All of them can communicate using selenese.

Page 8: Selenium Grid and Jenkins
Page 9: Selenium Grid and Jenkins

Selenium Grid A Distributed grid of RC’s.

Main two components Grid Hub Grid Nodes

• Grid Hub Allocates RC’s for tests Keeps an eye on test sessions Entry point for all your tests Load balances test requests to the RC’s.

Page 10: Selenium Grid and Jenkins

Grid Node It is configured and started using a command. Provide all your capabilities in the command.

browserType Version Platform – i.e. Windows,linux,CentOS applicationName – a specific name for your

node.

Page 11: Selenium Grid and Jenkins

Grid Node Capabilities are the unique attributes for

a node. Selenium Grid code uses

“DesiredCapabilities”

This capability object is passed into RemoteWebDriver instance

Page 12: Selenium Grid and Jenkins
Page 13: Selenium Grid and Jenkins

Selenium Grid Console It shows you all the connected grid

clients(nodes)

Page 14: Selenium Grid and Jenkins

More features Supports parallel execution

We need to write our test to execute in parallel.

Use Junit4 ParallelComputer features.

Page 15: Selenium Grid and Jenkins

Features..• Supports Selenium WebDriver / Remote

WebDriver

• Grid 2.0 is the latest, more features with it.

• Easy to start the Grid Hub as well as the node.

Page 16: Selenium Grid and Jenkins

Why we thought of Using Selenium Our product has a GWT (Google web tool

kit) based front end. Complex user scenarios involved.

Big , distributed team working on features.

Usual scrum team, a single tester No enough time to do end – end UI tests.

Page 17: Selenium Grid and Jenkins

Why we thought of Selenium Grid Different platforms to support

Windows/IE9 XP/IE8 CentOS/FF 64 bit/ 32 bit machine combinations.

Limited time and Need to execute all in one shot.

“Grid allows multiple environments and parallel executions….”

Page 18: Selenium Grid and Jenkins

Selenium Grid in Jenkins Jenkins is a CI server.

Why Jenkins ? Our code base is huge. Needs to ensure clean builds. It has lot of plugins. Its free and open

Jenkins has a plug-in for selenium grid Easy installation. Selenium grid is executed within the Jenkins server. You can start grid node by pointing to this grid url.

With your desired capabilities.

Page 19: Selenium Grid and Jenkins

Jenkins JOB

Page 20: Selenium Grid and Jenkins

Jenkins Selenium Plugin

Page 21: Selenium Grid and Jenkins

How we write Tests

Page 22: Selenium Grid and Jenkins

Our Demo Setup

Page 23: Selenium Grid and Jenkins

Demo.. Show time..