SlideShare a Scribd company logo
Selenoid
Roman Tretyak.
Test Automation Architect
Docker
Enterprise Application Container
3
Obvious advantages:
β€’ Convenient application
encapsulation..
β€’ Understandable monitoring. .
β€’ Work with Linux, MacOs,
Windows.
Terminology
Docker is used to run software packages called containers. Containers are isolated from
each other and bundle their own application, tools, libraries and configuration files.
Containers are an abstraction at the app layer that packages code and dependencies
together. Containers take up less space than VMs (container images are typically tens of
MBs in size), can handle more applications and require fewer VMs and Operating
systems.
An instance of an image is called a container. You have an image, which is a set of
layers as you describe. If you start this image, you will have a running container of this
image. You can have many running containers of the same image.
Docker
Install docker on Mac/Windows
4
Additional info :
β€’ Advanced (CPUs: 3, Memory:
2048 MB, Swap: 2048 MB)
β€’ Daemon (Experimental
features checkbox unmarked)
.
β€’ *Shared Drives (Drive C should
be shared - checkbox marked)
Install latest Docker for Windows
https://hub.docker.com/editions/community/docker-ce-desktop-
windows
Install latest Docker for Mac
https://hub.docker.com/editions/community/docker-ce-desktop-mac
unzip latest Kitematic to ./Docker/Kitematic folder
Docker
Additional commands:
5
β€’ kill all running containers with docker kill $(docker ps -q)
β€’ delete all stopped containers with docker rm $(docker ps -a -q)
β€’ delete all images with docker rmi $(docker images -q)
Selenium grid
Selenium grid disadvantages
6
Time-consuming deployment process
1.Install Java Development Kit
2.Download Selenium Server JAR latest version
3.Download Web driver required versions
4.Unzip Web driver
5.Install the required versions of browsers
6.Input long commands.
Performance speed reduction
The hub decelerates if multiple browsers are run in
different nodes.
Complex launch commands
Selenoid
Selenium server/grid vs Selenoid
7
Features:
β€’ Isolated environment
β€’ Resources consumption and utilization
β€’ Installation
β€’ Support of multiple browser versions
β€’ Focus
β€’ User interface and logs
Selenoid
Isolated environment
8
β€’ Selenoid allows running each browser in a separate
container, which enables full isolation of the browser
environment.
Selenoid
Resources consumption and utilization
9
β€’ Since the Selenium Server is written in Java, the resources
consumption under heavy load increases significantly.
β€’ Selenoid enables to maintain a high load without additional
waste of resources.
β€’ On average, during 10 running sessions Selenium Server
consumes 500 MB of RAM, while the rate of Selenoid is only
50-60 MB.
β€’ In addition, all inactive containers are removed at the end of
each session. Thus, the level of free memory is always
appropriate.
Selenoid
Installation
10
β€’ Unlike Selenium Grid deployment process, the one of
Selenoid requires little time and effort. It presupposes
Docker installation and the input of one command.
Selenoid
Support of multiple browser versions
11
β€’ Several containers with the appropriate browsers are
to be built.
Selenoid
Focus
12
β€’ Challenges may emerge if multiple browsers are run
on the same machine within Selenium Grid.
β€’ Selenoid allows running each test in a separate
container. Thus, this problem is eliminated.
Selenoid
User interface and logs
13
β€’ It’s challenging to obtain logs for certain browser
sessions in terms of Selenium Grid. On the contrary,
all available logs are accessed easily in Selenoid.
β€’ Selenoid is convenient to use due to the informative
interface.
Selenoid
Selenoid advantages
14
Selenoid advanced features:
β€’ Data storage in RAM
β€’ Various screen resolution types
β€’ Browser screen display
β€’ Video recording of tests
Selenoid
Data storage in RAM
15
β€’ Selenoid stores all temporary files in tmpfs.
β€’ Tmpfs is a temporary file repository that allows storing
files in RAM, access to which is performed much
faster than to the file system of the hard drive.
Selenoid
Various screen resolution types
16
β€’ QA engineers can configure the appropriate screen
resolution for a running container on their own by
setting the required parameters in the Browser
Capabilities.
Selenoid
Browser screen display
17
β€’ Selenoid enables engineers to connect to the Virtual
Network Computing port during tests execution and
access the screen of the desired browser.
Selenoid
Video recording of tests
18
β€’ It’s possible to record the video of the tests performed.
β€’ For instance, the activation in the Google Chrome
browser is implemented by setting the parameter true
in the Browser Capabilities:
Selenoid
Selenoid Ecosystem
19
Selenoid
Configuration manager
20
Important possibilities:
β€’ change the directory of browser configuration file
β€’ limit maximum parallel sessions
β€’ change the video output directory
β€’ limit memory and CPU usage
Selenoid
Selenoid UI
21
Features list:
β€’ Stats and sessions
β€’ Capabilities
β€’ Logs & VNC
Selenoid
Run selenoid without docker
22
Download latest driver from selenium website
Download latest Selenoid binary.
https://github.com/aerokube/selenoid/releases/download/1.9.1/selenoid_windows_386.e
xe
https://github.com/aerokube/selenoid/releases/download/1.9.1/selenoid_darwin_amd64
Create browsers.json configuration file:
{"chrome": {
"default": "73.0",
"versions": {
"73.0": {
"image": [ ".chromedriver.exe" ] OR"image": ["./chromedriver"],
"port": "4444",
"path": "/", }}}}
Run command
chmod +x ./selenoid_darwin_amd64
chmod +x ./chromedriver
./selenoid.exe -conf ./browsers.json -disable-docker
Webdriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub/"),
new ChromeOptions());
https://github.com/aerokube/selenoid/blob/master/docs/selenoid-without-docker.adoc
Selenoid
Run selenoid using cm with docker
23
On Linux and Mac OS:
curl -s https://aerokube.com/cm/bash | bash && ./cm selenoid start --vnc --last-
versions 1 --browsers chrome && ./cm selenoid-ui start
On Windows
just download the latest binary with your browser from releases page for windows (386
and amd64 binaries available). Then type:
./cm.exe selenoid start --vnc --last-versions 1 --browsers chrome
./cm.exe selenoid-ui start
Set up desired capabilities:
DesiredCapabilities cap = new DesiredCapabilities();
capabilities.setBrowserName("chrome");
capabilities.setVersion("");
capabilities.setCapability("enableVNC", true);
capabilities.setCapability("enableVideo", true);
capabilities.setCapability("enableLog", true);
capabilities.setCapability("videoName", β€œvideo.mp4");
capabilities.setCapability("logName", β€œlog.log");
Webdriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub/"),
capabilities);
https://aerokube.com/cm/latest/
Selenoid
Run selenoid using docker-compose
24
Create configuration browsers.json file.
{"chrome": {
"default": "latest",
"versions": {
"latest": {
"image": "selenoid/vnc:chrome_73.0",
"port": "4444",
"path": "/", }}}}
Selenoid
Create docker-compose.yml
25
Selenoid
Create docker-compose.yml
26
Run:
docker-compose up -d --no-deps
http://localhost:4444/video/
http://localhost:4444/logs/
http://localhost:8080/
Questions
27

More Related Content

PDF
Selenoid: browsers in containers
Ivan Krutov
Β 
PPTX
Lets talk about: Azure Kubernetes Service (AKS)
Pedro Sousa
Β 
PPT
Auto Scaling on AWS
AustinWebArch
Β 
PDF
Introduction to kubernetes
Raffaele Di Fazio
Β 
PPTX
Data discovery & metadata management (amundsen installation)
μ°½μ–Έ μ •
Β 
PPTX
Ceph Introduction 2017
Karan Singh
Β 
PDF
Aws cloud watch
Mahesh Raj
Β 
Selenoid: browsers in containers
Ivan Krutov
Β 
Lets talk about: Azure Kubernetes Service (AKS)
Pedro Sousa
Β 
Auto Scaling on AWS
AustinWebArch
Β 
Introduction to kubernetes
Raffaele Di Fazio
Β 
Data discovery & metadata management (amundsen installation)
μ°½μ–Έ μ •
Β 
Ceph Introduction 2017
Karan Singh
Β 
Aws cloud watch
Mahesh Raj
Β 

What's hot (20)

PPTX
κΈ€λ‘œλ²Œ κΈ°μ—…λ“€μ˜ 효과적인 데이터 뢄석을 μœ„ν•œ Data Lake ꡬ좕 및 뢄석 사둀 - κΉ€μ€€ν˜• (AWS μ†”λ£¨μ…˜μ¦ˆ μ•„ν‚€ν…νŠΈ)
Amazon Web Services Korea
Β 
PPTX
Automated testing using Selenium & NUnit
Alfred Jett Grandeza
Β 
PDF
Best Practices with Azure Kubernetes Services
QAware GmbH
Β 
PPTX
A brief study on Kubernetes and its components
Ramit Surana
Β 
PDF
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
Β 
PDF
Linux Container Technology 101
inside-BigData.com
Β 
PDF
Metal as a Server
Fadwa Gmiden
Β 
PDF
Jenkins
Roger Xia
Β 
PPTX
Cloud Computing: Virtualization
Dr.Neeraj Kumar Pandey
Β 
PPT
Intro To Alfresco Part 1
Jeff Potts
Β 
PPTX
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community
Β 
PDF
Persistent Storage with Containers with Kubernetes & OpenShift
Red Hat Events
Β 
PPTX
OWASP Chicago 2016 - What is Attribute Based Access Control (ABAC)?
David Brossard
Β 
PDF
Cloud storage
Ibrahim Kazanci
Β 
PPTX
Docker Swarm Introduction
rajdeep
Β 
PDF
Alphorm.com Formation Ansible : Le Guide Complet du DΓ©butant
Alphorm
Β 
PDF
MSA μ „λž΅ 2: λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€, μ–΄λ–»κ²Œ κ΅¬ν˜„ν•  것인가?
VMware Tanzu Korea
Β 
PPTX
Kubernetes
Henry He
Β 
PPTX
Apache CloudStack from API to UI
CloudStack - Open Source Cloud Computing Project
Β 
PDF
Automation with ansible
Khizer Naeem
Β 
κΈ€λ‘œλ²Œ κΈ°μ—…λ“€μ˜ 효과적인 데이터 뢄석을 μœ„ν•œ Data Lake ꡬ좕 및 뢄석 사둀 - κΉ€μ€€ν˜• (AWS μ†”λ£¨μ…˜μ¦ˆ μ•„ν‚€ν…νŠΈ)
Amazon Web Services Korea
Β 
Automated testing using Selenium & NUnit
Alfred Jett Grandeza
Β 
Best Practices with Azure Kubernetes Services
QAware GmbH
Β 
A brief study on Kubernetes and its components
Ramit Surana
Β 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
Β 
Linux Container Technology 101
inside-BigData.com
Β 
Metal as a Server
Fadwa Gmiden
Β 
Jenkins
Roger Xia
Β 
Cloud Computing: Virtualization
Dr.Neeraj Kumar Pandey
Β 
Intro To Alfresco Part 1
Jeff Potts
Β 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community
Β 
Persistent Storage with Containers with Kubernetes & OpenShift
Red Hat Events
Β 
OWASP Chicago 2016 - What is Attribute Based Access Control (ABAC)?
David Brossard
Β 
Cloud storage
Ibrahim Kazanci
Β 
Docker Swarm Introduction
rajdeep
Β 
Alphorm.com Formation Ansible : Le Guide Complet du DΓ©butant
Alphorm
Β 
MSA μ „λž΅ 2: λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€, μ–΄λ–»κ²Œ κ΅¬ν˜„ν•  것인가?
VMware Tanzu Korea
Β 
Kubernetes
Henry He
Β 
Apache CloudStack from API to UI
CloudStack - Open Source Cloud Computing Project
Β 
Automation with ansible
Khizer Naeem
Β 
Ad

Similar to Selenoid (20)

PPTX
Docker and Selenoid - Make Autotests Great Again
COMAQA.BY
Β 
PDF
Docker with Selenium by Thirumalai Vignesh
Software Testing Board
Β 
PPTX
Hooking Docker With Selenium
Sujith Vakathanam
Β 
PDF
QA Fest 2017. Иван ΠšΡ€ΡƒΡ‚ΠΎΠ². Selenoid: запускаСм Selenium тСсты Π² Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉ...
QAFest
Β 
PPTX
Kubernetes your tests! automation with docker on google cloud platform
LivePerson
Β 
PDF
Easy Setup for Parallel Test Execution with Selenium Docker
Sargis Sargsyan
Β 
PDF
Automated-Testing-inside-containers
Manoj Kumar Kumar
Β 
PDF
ExpoQA 2017 Docker and CI
ElasTest Project
Β 
PDF
Docker & ci
Patxi GortΓ‘zar
Β 
PPTX
Be flexible with zalenium, a dockerized selenium grid infrastructure
Georgios Romanas
Β 
PDF
Getting Started with Dockerization of Selenium Tests Execution - Testwarez 2019
Sargis Sargsyan
Β 
PPTX
vodQA(Pune) 2018 - Docker in Testing
vodQA
Β 
PDF
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
Β 
PDF
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
Sargis Sargsyan
Β 
PPTX
Session on Launching Selenium Grid and Running tests using docker compose and...
Agile Testing Alliance
Β 
PPTX
Π”ΠœΠ˜Π’Π Πž Π‘Π£Π”Π˜Πœ Β«Mobile Automation Infrastructure from scratchΒ» Online QADay 202...
QADay
Β 
PDF
Dockerization of real mobile device farm and scalable QA automation ecosystem
Alexey Khursevich
Β 
PDF
Selenium
Doron Segal
Β 
PDF
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Fwdays
Β 
PDF
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
Xebia Nederland BV
Β 
Docker and Selenoid - Make Autotests Great Again
COMAQA.BY
Β 
Docker with Selenium by Thirumalai Vignesh
Software Testing Board
Β 
Hooking Docker With Selenium
Sujith Vakathanam
Β 
QA Fest 2017. Иван ΠšΡ€ΡƒΡ‚ΠΎΠ². Selenoid: запускаСм Selenium тСсты Π² Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉ...
QAFest
Β 
Kubernetes your tests! automation with docker on google cloud platform
LivePerson
Β 
Easy Setup for Parallel Test Execution with Selenium Docker
Sargis Sargsyan
Β 
Automated-Testing-inside-containers
Manoj Kumar Kumar
Β 
ExpoQA 2017 Docker and CI
ElasTest Project
Β 
Docker & ci
Patxi GortΓ‘zar
Β 
Be flexible with zalenium, a dockerized selenium grid infrastructure
Georgios Romanas
Β 
Getting Started with Dockerization of Selenium Tests Execution - Testwarez 2019
Sargis Sargsyan
Β 
vodQA(Pune) 2018 - Docker in Testing
vodQA
Β 
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
Β 
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
Sargis Sargsyan
Β 
Session on Launching Selenium Grid and Running tests using docker compose and...
Agile Testing Alliance
Β 
Π”ΠœΠ˜Π’Π Πž Π‘Π£Π”Π˜Πœ Β«Mobile Automation Infrastructure from scratchΒ» Online QADay 202...
QADay
Β 
Dockerization of real mobile device farm and scalable QA automation ecosystem
Alexey Khursevich
Β 
Selenium
Doron Segal
Β 
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Fwdays
Β 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
Xebia Nederland BV
Β 
Ad

More from DataArt (20)

PDF
DataArt Custom Software Engineering with a Human Approach
DataArt
Β 
PDF
DataArt Healthcare & Life Sciences
DataArt
Β 
PDF
DataArt Financial Services and Capital Markets
DataArt
Β 
PDF
About DataArt HR Partners
DataArt
Β 
PDF
Event management Π² IT
DataArt
Β 
PDF
Digital Marketing from inside
DataArt
Β 
PPTX
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
DataArt
Β 
PDF
DevOps Workshop:Π§Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° DevOps ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
DataArt
Β 
PDF
IT Talk Kharkiv: Β«β€ŽSoft skills Π² IT. Польза ΠΈΠ»ΠΈ Π²Ρ€Π΅Π΄? Максим Бастион, DataArt
DataArt
Β 
PDF
«Ноль ΠΊΠΎΠΏΠ΅Π΅ΠΊ. Π‘ΠΏΠ°ΡΡ‚ΠΈΡΡŒ ΠΎΡ‚ выгорания» β€” Π‘Π΅Ρ€Π³Π΅ΠΉ Π§Π΅Π±ΠΎΡ‚Π°Ρ€Π΅Π² (Head of Design, Han...
DataArt
Β 
PDF
Communication in QA's life
DataArt
Β 
PDF
НСльзя просто Ρ‚Π°ΠΊ Π²Π·ΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ со слоТными людьми
DataArt
Β 
PDF
Π—Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ, DevOps
DataArt
Β 
PDF
DevOps in real life
DataArt
Β 
PDF
Codeless: автоматизация тСстирования
DataArt
Β 
PDF
Selenide
DataArt
Β 
PDF
A. Sirota "Building an Automation Solution based on Appium"
DataArt
Β 
PDF
Π­ΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π½Π΅ сойти с ΡƒΠΌΠ° Π² условиях слоТного ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½...
DataArt
Β 
PPTX
IT talk: Как я пСрСстал Π±ΠΎΡΡ‚ΡŒΡΡ ΠΈ полюбил TestNG
DataArt
Β 
PDF
Olga Dzeverina pm_day_pdf
DataArt
Β 
DataArt Custom Software Engineering with a Human Approach
DataArt
Β 
DataArt Healthcare & Life Sciences
DataArt
Β 
DataArt Financial Services and Capital Markets
DataArt
Β 
About DataArt HR Partners
DataArt
Β 
Event management Π² IT
DataArt
Β 
Digital Marketing from inside
DataArt
Β 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
DataArt
Β 
DevOps Workshop:Π§Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° DevOps ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
DataArt
Β 
IT Talk Kharkiv: Β«β€ŽSoft skills Π² IT. Польза ΠΈΠ»ΠΈ Π²Ρ€Π΅Π΄? Максим Бастион, DataArt
DataArt
Β 
«Ноль ΠΊΠΎΠΏΠ΅Π΅ΠΊ. Π‘ΠΏΠ°ΡΡ‚ΠΈΡΡŒ ΠΎΡ‚ выгорания» β€” Π‘Π΅Ρ€Π³Π΅ΠΉ Π§Π΅Π±ΠΎΡ‚Π°Ρ€Π΅Π² (Head of Design, Han...
DataArt
Β 
Communication in QA's life
DataArt
Β 
НСльзя просто Ρ‚Π°ΠΊ Π²Π·ΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ со слоТными людьми
DataArt
Β 
Π—Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ, DevOps
DataArt
Β 
DevOps in real life
DataArt
Β 
Codeless: автоматизация тСстирования
DataArt
Β 
Selenide
DataArt
Β 
A. Sirota "Building an Automation Solution based on Appium"
DataArt
Β 
Π­ΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π½Π΅ сойти с ΡƒΠΌΠ° Π² условиях слоТного ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½...
DataArt
Β 
IT talk: Как я пСрСстал Π±ΠΎΡΡ‚ΡŒΡΡ ΠΈ полюбил TestNG
DataArt
Β 
Olga Dzeverina pm_day_pdf
DataArt
Β 

Recently uploaded (20)

PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
Β 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
Β 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
Β 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
Β 
PPTX
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
Β 
PDF
Module 2: Public Health History [Tutorial Slides]
JonathanHallett4
Β 
DOCX
Action Plan_ARAL PROGRAM_ STAND ALONE SHS.docx
Levenmartlacuna1
Β 
PDF
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
Β 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
Β 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
Β 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
Β 
PPTX
A Smarter Way to Think About Choosing a College
Cyndy McDonald
Β 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
Β 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
Β 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
Β 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
Β 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
Β 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
Β 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
Β 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
Β 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
Β 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
Β 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
Β 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
Β 
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
Β 
Module 2: Public Health History [Tutorial Slides]
JonathanHallett4
Β 
Action Plan_ARAL PROGRAM_ STAND ALONE SHS.docx
Levenmartlacuna1
Β 
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
Β 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
Β 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
Β 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
Β 
A Smarter Way to Think About Choosing a College
Cyndy McDonald
Β 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
Β 
Virat Kohli- the Pride of Indian cricket
kushpar147
Β 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
Β 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
Β 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
Β 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
Β 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
Β 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
Β 

Selenoid

  • 3. Docker Enterprise Application Container 3 Obvious advantages: β€’ Convenient application encapsulation.. β€’ Understandable monitoring. . β€’ Work with Linux, MacOs, Windows. Terminology Docker is used to run software packages called containers. Containers are isolated from each other and bundle their own application, tools, libraries and configuration files. Containers are an abstraction at the app layer that packages code and dependencies together. Containers take up less space than VMs (container images are typically tens of MBs in size), can handle more applications and require fewer VMs and Operating systems. An instance of an image is called a container. You have an image, which is a set of layers as you describe. If you start this image, you will have a running container of this image. You can have many running containers of the same image.
  • 4. Docker Install docker on Mac/Windows 4 Additional info : β€’ Advanced (CPUs: 3, Memory: 2048 MB, Swap: 2048 MB) β€’ Daemon (Experimental features checkbox unmarked) . β€’ *Shared Drives (Drive C should be shared - checkbox marked) Install latest Docker for Windows https://hub.docker.com/editions/community/docker-ce-desktop- windows Install latest Docker for Mac https://hub.docker.com/editions/community/docker-ce-desktop-mac unzip latest Kitematic to ./Docker/Kitematic folder
  • 5. Docker Additional commands: 5 β€’ kill all running containers with docker kill $(docker ps -q) β€’ delete all stopped containers with docker rm $(docker ps -a -q) β€’ delete all images with docker rmi $(docker images -q)
  • 6. Selenium grid Selenium grid disadvantages 6 Time-consuming deployment process 1.Install Java Development Kit 2.Download Selenium Server JAR latest version 3.Download Web driver required versions 4.Unzip Web driver 5.Install the required versions of browsers 6.Input long commands. Performance speed reduction The hub decelerates if multiple browsers are run in different nodes. Complex launch commands
  • 7. Selenoid Selenium server/grid vs Selenoid 7 Features: β€’ Isolated environment β€’ Resources consumption and utilization β€’ Installation β€’ Support of multiple browser versions β€’ Focus β€’ User interface and logs
  • 8. Selenoid Isolated environment 8 β€’ Selenoid allows running each browser in a separate container, which enables full isolation of the browser environment.
  • 9. Selenoid Resources consumption and utilization 9 β€’ Since the Selenium Server is written in Java, the resources consumption under heavy load increases significantly. β€’ Selenoid enables to maintain a high load without additional waste of resources. β€’ On average, during 10 running sessions Selenium Server consumes 500 MB of RAM, while the rate of Selenoid is only 50-60 MB. β€’ In addition, all inactive containers are removed at the end of each session. Thus, the level of free memory is always appropriate.
  • 10. Selenoid Installation 10 β€’ Unlike Selenium Grid deployment process, the one of Selenoid requires little time and effort. It presupposes Docker installation and the input of one command.
  • 11. Selenoid Support of multiple browser versions 11 β€’ Several containers with the appropriate browsers are to be built.
  • 12. Selenoid Focus 12 β€’ Challenges may emerge if multiple browsers are run on the same machine within Selenium Grid. β€’ Selenoid allows running each test in a separate container. Thus, this problem is eliminated.
  • 13. Selenoid User interface and logs 13 β€’ It’s challenging to obtain logs for certain browser sessions in terms of Selenium Grid. On the contrary, all available logs are accessed easily in Selenoid. β€’ Selenoid is convenient to use due to the informative interface.
  • 14. Selenoid Selenoid advantages 14 Selenoid advanced features: β€’ Data storage in RAM β€’ Various screen resolution types β€’ Browser screen display β€’ Video recording of tests
  • 15. Selenoid Data storage in RAM 15 β€’ Selenoid stores all temporary files in tmpfs. β€’ Tmpfs is a temporary file repository that allows storing files in RAM, access to which is performed much faster than to the file system of the hard drive.
  • 16. Selenoid Various screen resolution types 16 β€’ QA engineers can configure the appropriate screen resolution for a running container on their own by setting the required parameters in the Browser Capabilities.
  • 17. Selenoid Browser screen display 17 β€’ Selenoid enables engineers to connect to the Virtual Network Computing port during tests execution and access the screen of the desired browser.
  • 18. Selenoid Video recording of tests 18 β€’ It’s possible to record the video of the tests performed. β€’ For instance, the activation in the Google Chrome browser is implemented by setting the parameter true in the Browser Capabilities:
  • 20. Selenoid Configuration manager 20 Important possibilities: β€’ change the directory of browser configuration file β€’ limit maximum parallel sessions β€’ change the video output directory β€’ limit memory and CPU usage
  • 21. Selenoid Selenoid UI 21 Features list: β€’ Stats and sessions β€’ Capabilities β€’ Logs & VNC
  • 22. Selenoid Run selenoid without docker 22 Download latest driver from selenium website Download latest Selenoid binary. https://github.com/aerokube/selenoid/releases/download/1.9.1/selenoid_windows_386.e xe https://github.com/aerokube/selenoid/releases/download/1.9.1/selenoid_darwin_amd64 Create browsers.json configuration file: {"chrome": { "default": "73.0", "versions": { "73.0": { "image": [ ".chromedriver.exe" ] OR"image": ["./chromedriver"], "port": "4444", "path": "/", }}}} Run command chmod +x ./selenoid_darwin_amd64 chmod +x ./chromedriver ./selenoid.exe -conf ./browsers.json -disable-docker Webdriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub/"), new ChromeOptions()); https://github.com/aerokube/selenoid/blob/master/docs/selenoid-without-docker.adoc
  • 23. Selenoid Run selenoid using cm with docker 23 On Linux and Mac OS: curl -s https://aerokube.com/cm/bash | bash && ./cm selenoid start --vnc --last- versions 1 --browsers chrome && ./cm selenoid-ui start On Windows just download the latest binary with your browser from releases page for windows (386 and amd64 binaries available). Then type: ./cm.exe selenoid start --vnc --last-versions 1 --browsers chrome ./cm.exe selenoid-ui start Set up desired capabilities: DesiredCapabilities cap = new DesiredCapabilities(); capabilities.setBrowserName("chrome"); capabilities.setVersion(""); capabilities.setCapability("enableVNC", true); capabilities.setCapability("enableVideo", true); capabilities.setCapability("enableLog", true); capabilities.setCapability("videoName", β€œvideo.mp4"); capabilities.setCapability("logName", β€œlog.log"); Webdriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub/"), capabilities); https://aerokube.com/cm/latest/
  • 24. Selenoid Run selenoid using docker-compose 24 Create configuration browsers.json file. {"chrome": { "default": "latest", "versions": { "latest": { "image": "selenoid/vnc:chrome_73.0", "port": "4444", "path": "/", }}}}
  • 26. Selenoid Create docker-compose.yml 26 Run: docker-compose up -d --no-deps http://localhost:4444/video/ http://localhost:4444/logs/ http://localhost:8080/