SlideShare una empresa de Scribd logo
1 de 26
http://assertselenium.com
About Me
Open source contributor
Developer in Test
Editor-in-chief AssertSelenium.com
@manoj9788

http://facebook.com/AssertSelenium
http://about.me/manoj9788
http://assertselenium.com
What’s In Store ?










Testing
Automated testing
Selenium WebDriver
WebDriver API
WebDriver for Google Chrome
ChromeDriver
ChromeDriver Architecture
ChromeDriver Implementation
Demo

http://assertselenium.com
Testing ?
Is the process of
evaluating a system or
its component(s) with
the intent to find
whether it satisfies
what it needs to do.

http://assertselenium.com
Automated Testing
 Testing a system or its
component(s) with an
use of an automation
tool is called
Automation testing.
 In a Robotic way

http://assertselenium.com
Why Automation Testing ?
 Automation does not require Human Intervention
 Automation increases speed of test execution

 Manual testing can be boring and hence error prone
 Automation saves you money

http://assertselenium.com
Automation Tool
 Is a Software or a package that
allows you to use high level
languages or keywords to create
scripts on top of a test framework
to manage the build and run of
scripts that communicate with
the Application under test
 To control execution of tests
 To compare actual outcomes to
expected outcomes
 To report the status (PASS/FAIL)

http://assertselenium.com
Selenium WebDriver
 Browser Automation
Framework
 It automates browser’s
 http://docs.seleniumhq.org/

http://assertselenium.com
Selenium WebDriver
 Selenium is an open Source tool and its free.
 Supports Cross Browser Testing. The Selenium tests
can be run on multiple browsers.
 Allows scripting in several languages like Java, C#,
Groovy, Ruby, PHP and Python.
 Assertion statements provide an efficient way of
comparing expected and actual results.
 Different browser implementations

http://assertselenium.com
Selenium Suite of Tools
 Selenium IDE
 Selenium Remote Control (aka) Selenium 1.0
(Deprecated)
 Selenium WebDriver (aka) Selenium 2.0(aka)
WebDriver
 Selenium GRID

http://assertselenium.com
Selenium IDE
 The Record and Playback tool

http://assertselenium.com
Why WebDriver ?
Because it’s a W3C Working Draft

http://assertselenium.com
WebDriver API
 How does the WebDriver API looks like ?
driver.findElement(By.name("q"))

http://assertselenium.com
UI Element Locators
 We Human’s know what exactly to do on the web
page, operations like click, double click…
 Automation is a robotic process and we need instruct
the bot to click ‘here’ by the element locators – the
objects.
 Different locators
id
css
xpath
linktext
http://assertselenium.com
Transformation from Manual to a
Automated Tester
Manual Interaction

Automated WebDriver API

Human Opens a browser and
loads the URL of app under test

WebDriver driver = new ChromeDriver();
driver.get(http://google.com);

Human Click on a button

driver.findElement(By.linkText(”Google")).click();

Human types in a name in text
field

driver.findElement(By.name("firstName")).clear();
driver.findElement(By.name("firstName")).sendKe
ys(”gdgChennai");

Human selects an option from a
dropdown

new
Select(driver.findElement(By.id("glsel"))).selectBy
VisibleText("GB");

http://assertselenium.com
CHROMEDRIVER

Chromium
Maintained and Developed by the Chromium Team
at Google
http://assertselenium.com
Browser Statistics

http://assertselenium.com
Interrogation
As a Web Developer, how can I automatically
verify the critical functionality of my app
works ?

As a Tester, how can I automatically verify the
critical functionality of app under test
performs what it supposed to do ?

http://assertselenium.com
ChromeDriver
Interoperable with WebDriver Clients
Open source and maintained by the members
of Chromium project

http://assertselenium.com
How does the test look like ?

http://assertselenium.com
How ChromeDriver works ?

http://assertselenium.com
ChromeDriver Implementation
Dev Tools
Provides access to internal of web app
•
•
•
•

Query and Manipulate DOM tree
Debugging JavaScript
Network Monitoring
Memory and Performance profiling

Extensions
Modify and enhance browser functionality
• Window control

http://assertselenium.com
Detailed Architecture View
ChromeDriver

http://assertselenium.com
Chrome Extensions
 Chrome Extensions can be either packed or
unpacked.
 Packed extensions are single file with a .crx extension
 Unpacked extensions are a directory containing the
extension, including a manifest.json file

http://assertselenium.com
http://assertselenium.com
Thank you!!

Email at: manoj9788@gmail.com

http://assertselenium.com

Más contenido relacionado

La actualidad más candente

Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Thomas Audunhus
 
Browserscope oscon 2011
Browserscope oscon 2011Browserscope oscon 2011
Browserscope oscon 2011lsimon
 
Go With The Reflow
Go With The ReflowGo With The Reflow
Go With The Reflowlsimon
 
Ci of js and apex using jasmine, phantom js and drone io df14
Ci of js and apex using jasmine, phantom js and drone io   df14Ci of js and apex using jasmine, phantom js and drone io   df14
Ci of js and apex using jasmine, phantom js and drone io df14Kevin Poorman
 
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)Bill Condo
 
Front-End Performance Optimizing
Front-End Performance OptimizingFront-End Performance Optimizing
Front-End Performance OptimizingMichael Pehl
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"Binary Studio
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website OptimizationGerard Sychay
 
Web Development with NodeJS
Web Development with NodeJSWeb Development with NodeJS
Web Development with NodeJSRiza Fahmi
 
JavaScript development methodology
JavaScript development methodologyJavaScript development methodology
JavaScript development methodologyAleksander Fabijan
 
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable webChris Mills
 
Testing Single Page Webapp
Testing Single Page WebappTesting Single Page Webapp
Testing Single Page WebappAkshay Mathur
 
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and SeleniumAutomated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and SeleniumDev9Com
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineNGINX, Inc.
 
Consuming ASP.NET Web API with WebSockets
Consuming ASP.NET Web API with WebSocketsConsuming ASP.NET Web API with WebSockets
Consuming ASP.NET Web API with WebSocketsMaayan Glikser
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftSteve Wortham
 

La actualidad más candente (20)

Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
Browserscope oscon 2011
Browserscope oscon 2011Browserscope oscon 2011
Browserscope oscon 2011
 
Go With The Reflow
Go With The ReflowGo With The Reflow
Go With The Reflow
 
Ci of js and apex using jasmine, phantom js and drone io df14
Ci of js and apex using jasmine, phantom js and drone io   df14Ci of js and apex using jasmine, phantom js and drone io   df14
Ci of js and apex using jasmine, phantom js and drone io df14
 
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
 
Front-End Performance Optimizing
Front-End Performance OptimizingFront-End Performance Optimizing
Front-End Performance Optimizing
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website Optimization
 
Web Development with NodeJS
Web Development with NodeJSWeb Development with NodeJS
Web Development with NodeJS
 
JavaScript development methodology
JavaScript development methodologyJavaScript development methodology
JavaScript development methodology
 
Power Training DevDays 2009
Power Training DevDays 2009Power Training DevDays 2009
Power Training DevDays 2009
 
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
 
Testing Single Page Webapp
Testing Single Page WebappTesting Single Page Webapp
Testing Single Page Webapp
 
Grails and Ajax
Grails and AjaxGrails and Ajax
Grails and Ajax
 
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and SeleniumAutomated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngine
 
Meta Refresh 2014
Meta Refresh 2014Meta Refresh 2014
Meta Refresh 2014
 
Consuming ASP.NET Web API with WebSockets
Consuming ASP.NET Web API with WebSocketsConsuming ASP.NET Web API with WebSockets
Consuming ASP.NET Web API with WebSockets
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoft
 
Metarefresh
MetarefreshMetarefresh
Metarefresh
 

Similar a Automated Testing Guide with Selenium WebDriver

Whys and Hows of Automation
Whys and Hows of AutomationWhys and Hows of Automation
Whys and Hows of AutomationvodQA
 
Selenium Automation in Java Using HttpWatch Plug-in
 Selenium Automation in Java Using HttpWatch Plug-in  Selenium Automation in Java Using HttpWatch Plug-in
Selenium Automation in Java Using HttpWatch Plug-in Sandeep Tol
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Joe Ferguson
 
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Joe Ferguson
 
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Ondřej Machulda
 
Using HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaUsing HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaSandeep Tol
 
Introduction to Selenium and Test Automation
Introduction to Selenium and Test AutomationIntroduction to Selenium and Test Automation
Introduction to Selenium and Test AutomationAhmed Mubbashir Khan
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsAsif Mohaimen
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Puneet Kala
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with PythonJachym Cepicky
 
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxTop 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxAnanthReddy38
 
Web driver selenium simplified
Web driver selenium simplifiedWeb driver selenium simplified
Web driver selenium simplifiedVikas Singh
 
Complete_QA_Automation_Guide__1696637878.pdf
Complete_QA_Automation_Guide__1696637878.pdfComplete_QA_Automation_Guide__1696637878.pdf
Complete_QA_Automation_Guide__1696637878.pdframya9288
 
Selenium Testing Training in Bangalore
Selenium Testing Training in BangaloreSelenium Testing Training in Bangalore
Selenium Testing Training in Bangalorerajkamal560066
 

Similar a Automated Testing Guide with Selenium WebDriver (20)

Whys and Hows of Automation
Whys and Hows of AutomationWhys and Hows of Automation
Whys and Hows of Automation
 
Selenium.pptx
Selenium.pptxSelenium.pptx
Selenium.pptx
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Selenium Automation in Java Using HttpWatch Plug-in
 Selenium Automation in Java Using HttpWatch Plug-in  Selenium Automation in Java Using HttpWatch Plug-in
Selenium Automation in Java Using HttpWatch Plug-in
 
Test automation
Test  automationTest  automation
Test automation
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015
 
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
 
Selenium
SeleniumSelenium
Selenium
 
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
 
Using HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaUsing HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in Java
 
Introduction to Selenium and Test Automation
Introduction to Selenium and Test AutomationIntroduction to Selenium and Test Automation
Introduction to Selenium and Test Automation
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest plugins
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with Python
 
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxTop 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
 
Selenium
SeleniumSelenium
Selenium
 
Web driver selenium simplified
Web driver selenium simplifiedWeb driver selenium simplified
Web driver selenium simplified
 
Complete_QA_Automation_Guide__1696637878.pdf
Complete_QA_Automation_Guide__1696637878.pdfComplete_QA_Automation_Guide__1696637878.pdf
Complete_QA_Automation_Guide__1696637878.pdf
 
Selenium Testing Training in Bangalore
Selenium Testing Training in BangaloreSelenium Testing Training in Bangalore
Selenium Testing Training in Bangalore
 

Más de Manoj Kumar Kumar

Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingManoj Kumar Kumar
 
Observability: Distributed Tes environment
Observability: Distributed Tes environmentObservability: Distributed Tes environment
Observability: Distributed Tes environmentManoj Kumar Kumar
 
GAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarGAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarManoj Kumar Kumar
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesManoj Kumar Kumar
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityManoj Kumar Kumar
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containersManoj Kumar Kumar
 
Test Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersTest Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersManoj Kumar Kumar
 
Automated-Accessibility-Testing
Automated-Accessibility-TestingAutomated-Accessibility-Testing
Automated-Accessibility-TestingManoj Kumar Kumar
 

Más de Manoj Kumar Kumar (12)

Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility Testing
 
Observability: Distributed Tes environment
Observability: Distributed Tes environmentObservability: Distributed Tes environment
Observability: Distributed Tes environment
 
Selenium-4-and-appium-2
Selenium-4-and-appium-2Selenium-4-and-appium-2
Selenium-4-and-appium-2
 
Selenium-4
Selenium-4Selenium-4
Selenium-4
 
GAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarGAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinar
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and Kubernetes
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: Accessibility
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
 
Test Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersTest Automation Infrastructure with Containers
Test Automation Infrastructure with Containers
 
Automated-Accessibility-Testing
Automated-Accessibility-TestingAutomated-Accessibility-Testing
Automated-Accessibility-Testing
 
Async webdriverjs
Async webdriverjsAsync webdriverjs
Async webdriverjs
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Automated Testing Guide with Selenium WebDriver

  • 2. About Me Open source contributor Developer in Test Editor-in-chief AssertSelenium.com @manoj9788 http://facebook.com/AssertSelenium http://about.me/manoj9788 http://assertselenium.com
  • 3. What’s In Store ?          Testing Automated testing Selenium WebDriver WebDriver API WebDriver for Google Chrome ChromeDriver ChromeDriver Architecture ChromeDriver Implementation Demo http://assertselenium.com
  • 4. Testing ? Is the process of evaluating a system or its component(s) with the intent to find whether it satisfies what it needs to do. http://assertselenium.com
  • 5. Automated Testing  Testing a system or its component(s) with an use of an automation tool is called Automation testing.  In a Robotic way http://assertselenium.com
  • 6. Why Automation Testing ?  Automation does not require Human Intervention  Automation increases speed of test execution  Manual testing can be boring and hence error prone  Automation saves you money http://assertselenium.com
  • 7. Automation Tool  Is a Software or a package that allows you to use high level languages or keywords to create scripts on top of a test framework to manage the build and run of scripts that communicate with the Application under test  To control execution of tests  To compare actual outcomes to expected outcomes  To report the status (PASS/FAIL) http://assertselenium.com
  • 8. Selenium WebDriver  Browser Automation Framework  It automates browser’s  http://docs.seleniumhq.org/ http://assertselenium.com
  • 9. Selenium WebDriver  Selenium is an open Source tool and its free.  Supports Cross Browser Testing. The Selenium tests can be run on multiple browsers.  Allows scripting in several languages like Java, C#, Groovy, Ruby, PHP and Python.  Assertion statements provide an efficient way of comparing expected and actual results.  Different browser implementations http://assertselenium.com
  • 10. Selenium Suite of Tools  Selenium IDE  Selenium Remote Control (aka) Selenium 1.0 (Deprecated)  Selenium WebDriver (aka) Selenium 2.0(aka) WebDriver  Selenium GRID http://assertselenium.com
  • 11. Selenium IDE  The Record and Playback tool http://assertselenium.com
  • 12. Why WebDriver ? Because it’s a W3C Working Draft http://assertselenium.com
  • 13. WebDriver API  How does the WebDriver API looks like ? driver.findElement(By.name("q")) http://assertselenium.com
  • 14. UI Element Locators  We Human’s know what exactly to do on the web page, operations like click, double click…  Automation is a robotic process and we need instruct the bot to click ‘here’ by the element locators – the objects.  Different locators id css xpath linktext http://assertselenium.com
  • 15. Transformation from Manual to a Automated Tester Manual Interaction Automated WebDriver API Human Opens a browser and loads the URL of app under test WebDriver driver = new ChromeDriver(); driver.get(http://google.com); Human Click on a button driver.findElement(By.linkText(”Google")).click(); Human types in a name in text field driver.findElement(By.name("firstName")).clear(); driver.findElement(By.name("firstName")).sendKe ys(”gdgChennai"); Human selects an option from a dropdown new Select(driver.findElement(By.id("glsel"))).selectBy VisibleText("GB"); http://assertselenium.com
  • 16. CHROMEDRIVER Chromium Maintained and Developed by the Chromium Team at Google http://assertselenium.com
  • 18. Interrogation As a Web Developer, how can I automatically verify the critical functionality of my app works ? As a Tester, how can I automatically verify the critical functionality of app under test performs what it supposed to do ? http://assertselenium.com
  • 19. ChromeDriver Interoperable with WebDriver Clients Open source and maintained by the members of Chromium project http://assertselenium.com
  • 20. How does the test look like ? http://assertselenium.com
  • 21. How ChromeDriver works ? http://assertselenium.com
  • 22. ChromeDriver Implementation Dev Tools Provides access to internal of web app • • • • Query and Manipulate DOM tree Debugging JavaScript Network Monitoring Memory and Performance profiling Extensions Modify and enhance browser functionality • Window control http://assertselenium.com
  • 24. Chrome Extensions  Chrome Extensions can be either packed or unpacked.  Packed extensions are single file with a .crx extension  Unpacked extensions are a directory containing the extension, including a manifest.json file http://assertselenium.com
  • 26. Thank you!! Email at: manoj9788@gmail.com http://assertselenium.com