SlideShare a Scribd company logo
9
Most read
11
Most read
14
Most read
Selenium
‫ﺎ‬َ‫ﻧ‬َ‫ﺗ‬ْ‫ﻣ‬‫ﱠ‬‫ﻠ‬َ‫ﻋ‬ ‫ﺎ‬َ‫ﻣ‬ ‫ﱠ‬‫ﻻ‬ِ‫إ‬ ‫ﺎ‬َ‫ﻧ‬َ‫ﻟ‬ َ‫م‬ْ‫ﻠ‬ِ‫ﻋ‬ َ‫ﻻ‬ َ‫ك‬َ‫ﻧ‬‫ﺎ‬َ‫ﺣ‬ْ‫ﺑ‬ُ‫ﺳ‬َ‫ك‬‫ﱠ‬‫ﻧ‬ِ‫إ‬ُ‫م‬‫ﯾ‬ِ‫ﻛ‬َ‫ﺣ‬ْ‫ﻟ‬‫ا‬ ُ‫م‬‫ﯾ‬ِ‫ﻠ‬َ‫ﻌ‬ْ‫ﻟ‬‫ا‬ َ‫ﻧت‬َ‫أ‬
By: Ahmad Naoum
Why Automated Testing?
Manual Testing Automated Testing
Manual testing requires human
intervention for test execution.
Automation Testing is use of tools to
execute test cases
Manual testing will require skilled
labor, long time & will imply high
costs.
Automation Testing saves time, cost
and manpower. Once recorded, it's
easier to run an automated test suite
Any type of application can be tested
manually, certain testing types like
ad-hoc and monkey testing are more
suited for manual execution.
Automated testing is recommended
only for stable systems and is mostly
used for Regression Testing.
Manual testing can be become
repetitive and boring.
The boring part of executing same
test cases time and again, is handled
by automation software in
Automation Testing.
What is Selenium
• Selenium is a free (open source) automated
testing suite for web applications across
different browsers and platforms.
Selenium Components
• Selenium Integrated Development
Environment (IDE)
• Selenium Remote Control (RC)
• WebDriver
• Selenium Grid
Selenium Components Cont.
Who developed Selenium?
• Selenium was originally developed by Jason
Huggins in 2004
• He named this program as the
"JavaScriptTestRunner.“
• He made JavaScriptRunner open-source which
was later re-named as Selenium Core.
The Same Origin Policy Issue
History of Selenium
• In 2004, Paul Hammant developed Selenium
Remote Control (Selenium RC) to solve the same
origin policy issue. This system became known as
the Selenium Remote Control or Selenium 1.
• In 2008, Philippe Hanrigou made Selenium Grid,
allowing running of multiple Selenium tests
concurrently on any number of local or remote
systems, thus minimizing test execution time.
History of Selenium Cont.
• In 2006, Shinya Kasatani of Japan created
Selenium IDE, a Firefox extension that can
automate the browser through a record-and-
playback feature.
• In 2006, Simon Stewart created WebDriver,
which was the first cross-platform testing
framework that could control the browser from
the OS level.
• In 2008, the whole Selenium Team decided to
merge WebDriver and Selenium RC to form a
more powerful tool called Selenium 2.
Why the Name Selenium?
Important Notes
• Selenium WebDriver is termed as the
successor of Selenium RC which has been
deprecated.
• The Selenium IDE for Firefox stopped working
after the Firefox 55 upgrade and will be no
longer maintained.
Components Summary
• Selenium IDE, a Firefox add-on that you can only use in
creating relatively simple test cases and test suites.
• Selenium Remote Control, also known as Selenium 1,
which is the first Selenium tool that allowed users to use
programming languages in creating complex tests.
• WebDriver, the newer breakthrough that allows your test
scripts to communicate directly to the browser, thereby
controlling it from the OS level.
• Selenium Grid is also a tool that is used with Selenium RC
to execute parallel tests across different browsers and
operating systems.
• Selenium RC and WebDriver was merged to form Selenium
2.
Selenium Components
WebDriver Architecture
Some WebDriver Methods
Method Description
void get(String url) Load a new web page in the current
browser window.
String getTitle() The title of the current page.
WebElement findElement(By by) Find the first WebElement using the
given method.
void close() Close the current window, quitting
the browser if it's the last window
currently open.
void quit() Quits this driver, closing every
associated window.
WebDriver.Navigation navigate() An abstraction allowing the driver to
access the browser's history and to
navigate to a given URL.
Some WebElement Methods
Method Description
void click() Click this element.
void sendKeys(CharSequence...
keysToSend)
The title of the current page.
String getText() Get the visible (i.e. not hidden by
CSS) innerText of this element.
isEnabled() Is the element currently enabled or
not? This will generally return true for
everything but disabled input
elements.
void clear() If this element is a text entry
element, this will clear the value.
Gecko Driver
• This program provides the HTTP API described
by the WebDriver protocol to communicate
with Gecko browsers, such as Firefox.
• Gecko Driver Download
https://github.com/mozilla/geckodriver
Selenium First Project Webpage
Create Project and Add Libraries
1. Install JDK
http://www.oracle.com/technetwork/java/javas
e/downloads/jdk8-downloads-2133151.html
2. Install Eclipse
https://www.eclipse.org/downloads/
3. Create a Java Project in Eclipse
4. Add Selenium jars
https://www.seleniumhq.org/download/
5. Add Gecko Driver
Project Implementation Steps
1. Create Project and Add Libraries
2. Launching a Browser Session
3. Read Test Cases From File
4. Run Test Case
5. Validate Output
6. Save Testing Results in File
References
• SeleniumHQ
https://www.seleniumhq.org/
• Selenium WebDriver Java API Docs
https://seleniumhq.github.io/selenium/docs/api/java/
• GURU99 Selenium Tutorial
https://www.guru99.com/selenium-tutorial.html
• GURU99 Manual testing Tutorial
https://www.guru99.com/manual-testing.html
• Wikipedia
https://en.wikipedia.org/wiki/Selenium_%28software
%29
Any Questions

More Related Content

PPTX
Introduction to selenium
PPTX
VITAMINS
PPT
Presentation on 1G/2G/3G/4G/5G/Cellular & Wireless Technologies
PPTX
Chapter 8 - Robot Control System
ODP
Gatling
PPTX
ERP And Enterprise Architecture
PPTX
Loss of Biodiversity
PPSX
A Brief Introduction to Enterprise Architecture
Introduction to selenium
VITAMINS
Presentation on 1G/2G/3G/4G/5G/Cellular & Wireless Technologies
Chapter 8 - Robot Control System
Gatling
ERP And Enterprise Architecture
Loss of Biodiversity
A Brief Introduction to Enterprise Architecture

What's hot (20)

PPTX
Introduction to Selenium Web Driver
PDF
Automation Testing using Selenium Webdriver
PPTX
Selenium test automation
ODP
BDD with Cucumber
PPTX
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
PPTX
Selenium ppt
PPTX
An overview of selenium webdriver
PPTX
Test Automation and Selenium
PDF
Web automation using selenium.ppt
PPT
Selenium ppt
PDF
Cucumber ppt
PPTX
Appium Presentation
PDF
Automation Testing using Selenium
PPT
QSpiders - Automation using Selenium
PPTX
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
PPT
Automated Web Testing Using Selenium
ODP
Selenium ppt
PPTX
PPT
Postman.ppt
PPTX
Automation - web testing with selenium
Introduction to Selenium Web Driver
Automation Testing using Selenium Webdriver
Selenium test automation
BDD with Cucumber
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
Selenium ppt
An overview of selenium webdriver
Test Automation and Selenium
Web automation using selenium.ppt
Selenium ppt
Cucumber ppt
Appium Presentation
Automation Testing using Selenium
QSpiders - Automation using Selenium
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Automated Web Testing Using Selenium
Selenium ppt
Postman.ppt
Automation - web testing with selenium
Ad

Similar to Selenium - Introduction (20)

PPTX
Selenium
PPTX
Selenium.pptx
PPTX
Basics of selenium containing features of selenium
PPTX
Test Automation Using Selenium
PPTX
PPTX
Introduction to the Selenium_Session1.pptx
PPTX
Selenium presentation
PPTX
Selenium- A Software Testing Tool
PDF
selenium-webdriver-interview-questions.pdf
PPTX
What is Selenium Introduction to Selenium Testing.pptx
PPT
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
PPT
Selenium (1) (1)
PPTX
Selenium
PPTX
Selenium
PPTX
Selenium
PPTX
Selenium
PPTX
Test automation using selenium
PPT
Selenium Primer
PPTX
Mastering Test Automation: How To Use Selenium Successfully
PPTX
Selenium using Java
 
Selenium
Selenium.pptx
Basics of selenium containing features of selenium
Test Automation Using Selenium
Introduction to the Selenium_Session1.pptx
Selenium presentation
Selenium- A Software Testing Tool
selenium-webdriver-interview-questions.pdf
What is Selenium Introduction to Selenium Testing.pptx
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium (1) (1)
Selenium
Selenium
Selenium
Selenium
Test automation using selenium
Selenium Primer
Mastering Test Automation: How To Use Selenium Successfully
Selenium using Java
 
Ad

More from Amr E. Mohamed (20)

PDF
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
PDF
Dcs lec03 - z-analysis of discrete time control systems
PDF
Dcs lec02 - z-transform
PDF
Dcs lec01 - introduction to discrete-time control systems
PDF
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
PDF
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
PDF
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
PDF
SE2018_Lec 17_ Coding
PDF
SE2018_Lec-22_-Continuous-Integration-Tools
PDF
SE2018_Lec 21_ Software Configuration Management (SCM)
PDF
SE2018_Lec 18_ Design Principles and Design Patterns
PPTX
SE2018_Lec 20_ Test-Driven Development (TDD)
PDF
SE2018_Lec 19_ Software Testing
PDF
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
PDF
DSP_2018_FOEHU - Lec 05 - Digital Filters
PDF
DSP_2018_FOEHU - Lec 04 - The z-Transform
PDF
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
PDF
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
PDF
SE2018_Lec 15_ Software Design
PDF
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dcs lec03 - z-analysis of discrete time control systems
Dcs lec02 - z-transform
Dcs lec01 - introduction to discrete-time control systems
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
SE2018_Lec 17_ Coding
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 19_ Software Testing
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
SE2018_Lec 15_ Software Design
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing

Recently uploaded (20)

PPTX
ANIMAL INTERVENTION WARNING SYSTEM (4).pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
ETO & MEO Certificate of Competency Questions and Answers
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
PDF
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
PPTX
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
PPTX
Simulation of electric circuit laws using tinkercad.pptx
PPTX
AgentX UiPath Community Webinar series - Delhi
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
Practice Questions on recent development part 1.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
algorithms-16-00088-v2hghjjnjnhhhnnjhj.pdf
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PDF
International Journal of Information Technology Convergence and Services (IJI...
PDF
Queuing formulas to evaluate throughputs and servers
PDF
July 2025: Top 10 Read Articles Advanced Information Technology
PPTX
web development for engineering and engineering
PDF
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf
ANIMAL INTERVENTION WARNING SYSTEM (4).pptx
Model Code of Practice - Construction Work - 21102022 .pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
ETO & MEO Certificate of Competency Questions and Answers
CH1 Production IntroductoryConcepts.pptx
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
Simulation of electric circuit laws using tinkercad.pptx
AgentX UiPath Community Webinar series - Delhi
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Practice Questions on recent development part 1.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
algorithms-16-00088-v2hghjjnjnhhhnnjhj.pdf
Arduino robotics embedded978-1-4302-3184-4.pdf
International Journal of Information Technology Convergence and Services (IJI...
Queuing formulas to evaluate throughputs and servers
July 2025: Top 10 Read Articles Advanced Information Technology
web development for engineering and engineering
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf

Selenium - Introduction

  • 1. Selenium ‫ﺎ‬َ‫ﻧ‬َ‫ﺗ‬ْ‫ﻣ‬‫ﱠ‬‫ﻠ‬َ‫ﻋ‬ ‫ﺎ‬َ‫ﻣ‬ ‫ﱠ‬‫ﻻ‬ِ‫إ‬ ‫ﺎ‬َ‫ﻧ‬َ‫ﻟ‬ َ‫م‬ْ‫ﻠ‬ِ‫ﻋ‬ َ‫ﻻ‬ َ‫ك‬َ‫ﻧ‬‫ﺎ‬َ‫ﺣ‬ْ‫ﺑ‬ُ‫ﺳ‬َ‫ك‬‫ﱠ‬‫ﻧ‬ِ‫إ‬ُ‫م‬‫ﯾ‬ِ‫ﻛ‬َ‫ﺣ‬ْ‫ﻟ‬‫ا‬ ُ‫م‬‫ﯾ‬ِ‫ﻠ‬َ‫ﻌ‬ْ‫ﻟ‬‫ا‬ َ‫ﻧت‬َ‫أ‬ By: Ahmad Naoum
  • 2. Why Automated Testing? Manual Testing Automated Testing Manual testing requires human intervention for test execution. Automation Testing is use of tools to execute test cases Manual testing will require skilled labor, long time & will imply high costs. Automation Testing saves time, cost and manpower. Once recorded, it's easier to run an automated test suite Any type of application can be tested manually, certain testing types like ad-hoc and monkey testing are more suited for manual execution. Automated testing is recommended only for stable systems and is mostly used for Regression Testing. Manual testing can be become repetitive and boring. The boring part of executing same test cases time and again, is handled by automation software in Automation Testing.
  • 3. What is Selenium • Selenium is a free (open source) automated testing suite for web applications across different browsers and platforms.
  • 4. Selenium Components • Selenium Integrated Development Environment (IDE) • Selenium Remote Control (RC) • WebDriver • Selenium Grid
  • 6. Who developed Selenium? • Selenium was originally developed by Jason Huggins in 2004 • He named this program as the "JavaScriptTestRunner.“ • He made JavaScriptRunner open-source which was later re-named as Selenium Core.
  • 7. The Same Origin Policy Issue
  • 8. History of Selenium • In 2004, Paul Hammant developed Selenium Remote Control (Selenium RC) to solve the same origin policy issue. This system became known as the Selenium Remote Control or Selenium 1. • In 2008, Philippe Hanrigou made Selenium Grid, allowing running of multiple Selenium tests concurrently on any number of local or remote systems, thus minimizing test execution time.
  • 9. History of Selenium Cont. • In 2006, Shinya Kasatani of Japan created Selenium IDE, a Firefox extension that can automate the browser through a record-and- playback feature. • In 2006, Simon Stewart created WebDriver, which was the first cross-platform testing framework that could control the browser from the OS level. • In 2008, the whole Selenium Team decided to merge WebDriver and Selenium RC to form a more powerful tool called Selenium 2.
  • 10. Why the Name Selenium?
  • 11. Important Notes • Selenium WebDriver is termed as the successor of Selenium RC which has been deprecated. • The Selenium IDE for Firefox stopped working after the Firefox 55 upgrade and will be no longer maintained.
  • 12. Components Summary • Selenium IDE, a Firefox add-on that you can only use in creating relatively simple test cases and test suites. • Selenium Remote Control, also known as Selenium 1, which is the first Selenium tool that allowed users to use programming languages in creating complex tests. • WebDriver, the newer breakthrough that allows your test scripts to communicate directly to the browser, thereby controlling it from the OS level. • Selenium Grid is also a tool that is used with Selenium RC to execute parallel tests across different browsers and operating systems. • Selenium RC and WebDriver was merged to form Selenium 2.
  • 15. Some WebDriver Methods Method Description void get(String url) Load a new web page in the current browser window. String getTitle() The title of the current page. WebElement findElement(By by) Find the first WebElement using the given method. void close() Close the current window, quitting the browser if it's the last window currently open. void quit() Quits this driver, closing every associated window. WebDriver.Navigation navigate() An abstraction allowing the driver to access the browser's history and to navigate to a given URL.
  • 16. Some WebElement Methods Method Description void click() Click this element. void sendKeys(CharSequence... keysToSend) The title of the current page. String getText() Get the visible (i.e. not hidden by CSS) innerText of this element. isEnabled() Is the element currently enabled or not? This will generally return true for everything but disabled input elements. void clear() If this element is a text entry element, this will clear the value.
  • 17. Gecko Driver • This program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. • Gecko Driver Download https://github.com/mozilla/geckodriver
  • 19. Create Project and Add Libraries 1. Install JDK http://www.oracle.com/technetwork/java/javas e/downloads/jdk8-downloads-2133151.html 2. Install Eclipse https://www.eclipse.org/downloads/ 3. Create a Java Project in Eclipse 4. Add Selenium jars https://www.seleniumhq.org/download/ 5. Add Gecko Driver
  • 20. Project Implementation Steps 1. Create Project and Add Libraries 2. Launching a Browser Session 3. Read Test Cases From File 4. Run Test Case 5. Validate Output 6. Save Testing Results in File
  • 21. References • SeleniumHQ https://www.seleniumhq.org/ • Selenium WebDriver Java API Docs https://seleniumhq.github.io/selenium/docs/api/java/ • GURU99 Selenium Tutorial https://www.guru99.com/selenium-tutorial.html • GURU99 Manual testing Tutorial https://www.guru99.com/manual-testing.html • Wikipedia https://en.wikipedia.org/wiki/Selenium_%28software %29