SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with SeleniumKerry Buckley
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium gridKnoldus Inc.
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using SeleniumNikhil Kapoor
 
Introduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressErez Cohen
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best PracticesBrian Mann
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Simplilearn
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan HameedHassan Muhammad
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
Jenkins 101: Getting Started
Jenkins 101: Getting StartedJenkins 101: Getting Started
Jenkins 101: Getting StartedR Geoffrey Avery
 

Was ist angesagt? (20)

Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with Selenium
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium grid
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using Selenium
 
Introduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With Cypress
 
Cypress
CypressCypress
Cypress
 
Cypress Testing.pptx
Cypress Testing.pptxCypress Testing.pptx
Cypress Testing.pptx
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
 
End to end test automation with cypress
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins 101: Getting Started
Jenkins 101: Getting StartedJenkins 101: Getting Started
Jenkins 101: Getting Started
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdf
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 

Ähnlich wie Selenoid

Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerChris Taylor
 
Development-Environment Up & Running with Docker
Development-Environment Up & Running with DockerDevelopment-Environment Up & Running with Docker
Development-Environment Up & Running with DockerMichael Wellner
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...Synergetics Learning and Cloud Consulting
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Mustafa AKIN
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldzekeLabs Technologies
 
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)DataArt
 
Docker with Selenium by Thirumalai Vignesh
Docker with Selenium by Thirumalai VigneshDocker with Selenium by Thirumalai Vignesh
Docker with Selenium by Thirumalai VigneshSoftware Testing Board
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web DevelopersBADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web DevelopersAmr Fawzy
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 

Ähnlich wie Selenoid (20)

Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Development-Environment Up & Running with Docker
Development-Environment Up & Running with DockerDevelopment-Environment Up & Running with Docker
Development-Environment Up & Running with Docker
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
 
docker
dockerdocker
docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker with Selenium by Thirumalai Vignesh
Docker with Selenium by Thirumalai VigneshDocker with Selenium by Thirumalai Vignesh
Docker with Selenium by Thirumalai Vignesh
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
ExpoQA 2017 Docker and CI
ExpoQA 2017 Docker and CIExpoQA 2017 Docker and CI
ExpoQA 2017 Docker and CI
 
Docker & ci
Docker & ciDocker & ci
Docker & ci
 

Mehr von DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR PartnersDataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в ITDataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from insideDataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtDataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's lifeDataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOpsDataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real lifeDataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGDataArt
 
Olga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdfOlga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdfDataArt
 
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...DataArt
 

Mehr von DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 
Olga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdfOlga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdf
 
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
 

Kürzlich hochgeladen

UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 

Kürzlich hochgeladen (20)

UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

Selenoid

  • 1.
  • 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/