What’s in it for you?
Manual testing and its challenges
Advent of Selenium
What is Selenium?
Selenium suite of tools
Advantages of Selenium testing
Limitations of Selenium testing
Selenium jobs and salary
Manual testing and its challenges
What is manual testing?
Manual testing mainly involves physical execution of test cases against
various applications to detect bugs and errors
What is manual testing?
One of the primitive methods of testing
a software
What is manual testing?
One of the primitive methods of testing
a software
Execution of test cases without using
automation tools
What is manual testing?
One of the primitive methods of testing
a software
Execution of test cases without using
automation tools
Does not require the knowledge
of a testing tool
What is manual testing?
One of the primitive methods of testing
a software
Execution of test cases without using
automation tools
Does not require the knowledge
of a testing tool
Can practically test any
application
Challenges of Manual testing
Extremely time
consuming
High risk of error Requires presence of
tester at all times
Manual creation of
logs and
repositories
Limited scope
No support for
performance and batch
testing
Extremely time
consuming
High risk of error Requires presence of
tester 24/7
Manual creation of
logs and
repositories
Limited scope
No support for
performance and batch
testing
Considering all the drawbacks, a desperate
need to automate the testing process was on
demand
Challenges of Manual testing
Advent of Selenium
Advent of Selenium
Jason Huggins, an engineer at ThoughtWorks,
Chicago found the repetitious work of manual testing
strenuous and monotonous
Advent of Selenium
He developed a JavaScript program to automate the
testing of a web application
Advent of Selenium
He developed a JavaScript program to automate the
testing of a web application
The program was called JavaScriptTestRunner
Advent of Selenium
He developed a JavaScript program to automate the
testing of a web application
The program was called JavaScriptTestRunner
Initially, the new invention was deployed by the inmates at
Thoughtworks. However, in 2004 it was renamed as
Selenium and was made open source
Advent of Selenium
Since its inception, Selenium has been a powerful
automation testing tool to test various web applications
across different platforms
Real Life Applications of Machine Learning
What is Selenium?
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Open source
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Consists of a set of software tools
that facilitate testing
Open source
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Consists of a set of software tools
that facilitate testing
Primarily developed in JavaScript
Open source
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Consists of a set of software tools
that facilitate testing
Primarily developed in JavaScript
Provides a record/playback tool for authoring
tests without learning a test scripting
language
Open source
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Consists of a set of software tools
that facilitate testing
Primarily developed in JavaScript
Provides a record/playback tool for authoring
tests without learning a test scripting
language
Can be coded in many programming
languages
Open source
What is Selenium?
Selenium is an automated testing tool used to test web applications across various
browsers
Open source
Consists of a set of software tools
that facilitate testing
Primarily developed in JavaScript
Provides a record/playback tool for authoring
tests without learning a test scripting
language
Can be coded in many programming
languages
Browser and platform independent
Real Life Applications of Machine Learning
Selenium suite of tools
Selenium suite of tools
Selenium
suite
Selenium IDE
Selenium Remote Control (RC)
Selenium WebDriver
Selenium Grid
Selenium suite of tools
Selenium
suite
• Developed by Shinya Kasatani
• Firefox or Chrome extension that can automate the browser
functionality
• Records user interactions on the browser and exports them as a
reusable script
• Selenese commands can be used to modify the test script
generated after recording
• Selenium IDE deploys on Windows, Linux, and MacOS platforms
Selenium Integrated development environment (IDE)
Selenium suite of tools
Selenium
suite
Selenium Integrated development environment (IDE)
• Selenium IDE ceased to exist in August 2017
• A robust version of IDE was released in 2018 by Applitools
• The new IDE deploys a Selenium Side Runner that allows all IDE
tests to run on any browser, in parallel, and on a grid without
needing to write any code.
• Selenium IDE is integrated with other suite components to provide a
robust interface for application testing
Selenium suite of tools
Selenium
suite
Record and playback
feature
Selenium suite of tools
Selenium
suite
Selenese commands
showing the actions
performed on the browser
Selenium suite of tools
Selenium
suite
Log indicating the
execution of every
command
Selenium suite of tools
Selenium
suite
Saves the executable script
in the side format
Selenium suite of tools
Selenium
suite
Selenium Remote Control (RC)
• Paul Hammant developed Selenium RC
• Selenium RC is a server written in Java
• RC makes provision for writing application tests in various
programming languages like Java, C#, Perl, PHP, Python
etc.
• The RC server accepts commands from the user program
and passes them to the browser as Selenium-Core
JavaScript commands
• The browser behaves accordingly
Selenium suite of tools
Selenium
suite
Selenium Remote Control (RC)
RC Server
Web browser injected
with Selenium core
Selenium test script
Selenium suite of tools
Selenium
suite
Selenium Remote Control (RC)
test.js
RC Server
Web browser injected
with Selenium core
• Consider a JavaScript program test.js used by google.com.
• The program can access pages within google.com like
google.com/mail, google.com/login
Selenium suite of tools
Selenium
suite
Selenium Remote Control (RC)
test.js
RC Server
Web browser injected
with Selenium core
• However, it cannot access elements of other domains like
yahoo.com
• Local copies of Selenium core and the web browser had to be
installed so that they belonged to the same domain
Selenium suite of tools
Selenium
suite
Selenium Remote Control (RC)
test.js
RC Server
Web browser injected
with Selenium core
This is called Same Origin Policy and Selenium RC was introduced
to address this limitation. The server acts as a client configured HTTP
proxy and "tricks" the browser into believing that Selenium Core and
the web application being tested come from the same origin
Selenium
suite
Selenium WebDriver
• Simon Stewart developed WebDriver in 2006
• The first cross-platform testing framework
• Programming interface to create and run test cases
• Makes provision to act on web elements
• Does not require a core engine like RC and interacts natively
with the browser applications
• Supports Java, C#, PHP, Python, Perl, Ruby, etc.
• Supports frameworks like TestNG, JUnit, NUnit
Selenium suite of tools
Selenium suite of tools
Selenium
suite
Selenium WebDriver
Selenium WebDriver does not require an additional RC. It directly interacts
with browser and controls its working
Selenium suite of tools
Selenium
suite
Selenium Grid
• Developed by Patrick Lightbody
• The main objective of Grid is to minimize test execution time
• Grid was designed to distribute commands to different
machines simultaneously
• Selenium Grid allows the parallel execution of tests on
different browsers and different operating systems
• Grid is exceptionally flexible and is integrated with other suite
components for simultaneous execution
Selenium suite of tools
Selenium
suite
Selenium Grid
The Grid consists of a hub connected to several nodes. It
receives the test to be executed along with information about
the operating system and browser to be run on
Selenium suite of tools
Selenium
suite
Selenium Grid
The hub picks a node that conforms to the requirements
(browser and platform) and passes the test to that node
Selenium suite of tools
Selenium
suite
Selenium Grid
The node runs the browser and executes the selenium
commands within it
Selenium 1
Selenium 2
Selenium 3
Selenium 4
Selenium IDE Selenium RC Grid
Selenium IDE *Selenium RC Grid
Selenium IDE
Selenium
WebDriver
Grid
Selenium
WebDriver
Version 4 is just around the corner. However, Alpha has been released!
Selenium versions
Real Life Applications of Machine Learning
Advantages of Selenium testing
Advantages of Selenium testing
Speed and Accuracy
Speed and Accuracy
Open source
Advantages of Selenium testing
Speed and Accuracy
Open source
Supports wide spectrum of
programming languages
Advantages of Selenium testing
Speed and Accuracy
Open source
Supports wide spectrum of
programming languages
Supports various browsers
and operating systems
Advantages of Selenium testing
Speed and Accuracy
Open source
Supports wide spectrum of
programming languages
Supports various browsers
and operating systems
Ease of implementation
Advantages of Selenium testing
Speed and Accuracy
Open source
Supports wide spectrum of
programming languages
Supports various browsers
and operating systems
Ease of implementation
Reusability and Add-ons
Advantages of Selenium testing
Real Life Applications of Machine Learning
Limitations of Selenium testing
Limitations of Selenium testing
No reliable tech
support
Limitations of Selenium testing
No reliable tech
support
Tests web
applications only
Limitations of Selenium testing
No reliable tech
support
Limited support for
image testing
Tests web
applications only
Limitations of Selenium testing
No reliable tech
support
Limited support for
image testing
Tests web
applications only
No built in reporting
facility
Limitations of Selenium testing
No reliable tech
support
Limited support for
image testing
Tests web
applications only
No built in reporting
facility
Limited test
management
Limitations of Selenium testing
No reliable tech
support
Limited support for
image testing
Tests web
applications only
No built in reporting
facility
Limited test
management
May require knowledge of
programming languages
Selenium jobs and salary
Selenium jobs and salary
Job role
• To develop test cases to detect bugs and
errors
• Automation framework design and
implementation according to project
structure
• To improve and automate test practices
• To participate in communicating best
practices
• Define test strategies and test manuals for
tracking and fixing software issues
Selenium jobs and salary
Job role
• To develop test cases to detect bugs and
errors
• Automation framework design and
implementation according to project
structure
• To improve and automate test practices
• To participate in communicating best
practices
• Define test strategies and test manuals for
tracking and fixing software issues
The average salary of an Automation engineer
in India is ₹5,24,000 per annum
277k 1m
524k
$90.4k
$21k $157k
The average salary of an Automation
engineer in the USA is $90,390 per annum
Source- indeed.com
Source- payscale.com
Companies deploying Selenium
Key Takeaways
Key Takeaways
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium | Selenium |Simplilearn

What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium | Selenium |Simplilearn

  • 2.
    What’s in itfor you? Manual testing and its challenges Advent of Selenium What is Selenium? Selenium suite of tools Advantages of Selenium testing Limitations of Selenium testing Selenium jobs and salary
  • 3.
    Manual testing andits challenges
  • 4.
    What is manualtesting? Manual testing mainly involves physical execution of test cases against various applications to detect bugs and errors
  • 5.
    What is manualtesting? One of the primitive methods of testing a software
  • 6.
    What is manualtesting? One of the primitive methods of testing a software Execution of test cases without using automation tools
  • 7.
    What is manualtesting? One of the primitive methods of testing a software Execution of test cases without using automation tools Does not require the knowledge of a testing tool
  • 8.
    What is manualtesting? One of the primitive methods of testing a software Execution of test cases without using automation tools Does not require the knowledge of a testing tool Can practically test any application
  • 9.
    Challenges of Manualtesting Extremely time consuming High risk of error Requires presence of tester at all times Manual creation of logs and repositories Limited scope No support for performance and batch testing
  • 10.
    Extremely time consuming High riskof error Requires presence of tester 24/7 Manual creation of logs and repositories Limited scope No support for performance and batch testing Considering all the drawbacks, a desperate need to automate the testing process was on demand Challenges of Manual testing
  • 11.
  • 12.
    Advent of Selenium JasonHuggins, an engineer at ThoughtWorks, Chicago found the repetitious work of manual testing strenuous and monotonous
  • 13.
    Advent of Selenium Hedeveloped a JavaScript program to automate the testing of a web application
  • 14.
    Advent of Selenium Hedeveloped a JavaScript program to automate the testing of a web application The program was called JavaScriptTestRunner
  • 15.
    Advent of Selenium Hedeveloped a JavaScript program to automate the testing of a web application The program was called JavaScriptTestRunner Initially, the new invention was deployed by the inmates at Thoughtworks. However, in 2004 it was renamed as Selenium and was made open source
  • 16.
    Advent of Selenium Sinceits inception, Selenium has been a powerful automation testing tool to test various web applications across different platforms
  • 17.
    Real Life Applicationsof Machine Learning What is Selenium?
  • 18.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers
  • 19.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Open source
  • 20.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Consists of a set of software tools that facilitate testing Open source
  • 21.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Consists of a set of software tools that facilitate testing Primarily developed in JavaScript Open source
  • 22.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Consists of a set of software tools that facilitate testing Primarily developed in JavaScript Provides a record/playback tool for authoring tests without learning a test scripting language Open source
  • 23.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Consists of a set of software tools that facilitate testing Primarily developed in JavaScript Provides a record/playback tool for authoring tests without learning a test scripting language Can be coded in many programming languages Open source
  • 24.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers Open source Consists of a set of software tools that facilitate testing Primarily developed in JavaScript Provides a record/playback tool for authoring tests without learning a test scripting language Can be coded in many programming languages Browser and platform independent
  • 25.
    Real Life Applicationsof Machine Learning Selenium suite of tools
  • 26.
    Selenium suite oftools Selenium suite Selenium IDE Selenium Remote Control (RC) Selenium WebDriver Selenium Grid
  • 27.
    Selenium suite oftools Selenium suite • Developed by Shinya Kasatani • Firefox or Chrome extension that can automate the browser functionality • Records user interactions on the browser and exports them as a reusable script • Selenese commands can be used to modify the test script generated after recording • Selenium IDE deploys on Windows, Linux, and MacOS platforms Selenium Integrated development environment (IDE)
  • 28.
    Selenium suite oftools Selenium suite Selenium Integrated development environment (IDE) • Selenium IDE ceased to exist in August 2017 • A robust version of IDE was released in 2018 by Applitools • The new IDE deploys a Selenium Side Runner that allows all IDE tests to run on any browser, in parallel, and on a grid without needing to write any code. • Selenium IDE is integrated with other suite components to provide a robust interface for application testing
  • 29.
    Selenium suite oftools Selenium suite Record and playback feature
  • 30.
    Selenium suite oftools Selenium suite Selenese commands showing the actions performed on the browser
  • 31.
    Selenium suite oftools Selenium suite Log indicating the execution of every command
  • 32.
    Selenium suite oftools Selenium suite Saves the executable script in the side format
  • 33.
    Selenium suite oftools Selenium suite Selenium Remote Control (RC) • Paul Hammant developed Selenium RC • Selenium RC is a server written in Java • RC makes provision for writing application tests in various programming languages like Java, C#, Perl, PHP, Python etc. • The RC server accepts commands from the user program and passes them to the browser as Selenium-Core JavaScript commands • The browser behaves accordingly
  • 34.
    Selenium suite oftools Selenium suite Selenium Remote Control (RC) RC Server Web browser injected with Selenium core Selenium test script
  • 35.
    Selenium suite oftools Selenium suite Selenium Remote Control (RC) test.js RC Server Web browser injected with Selenium core • Consider a JavaScript program test.js used by google.com. • The program can access pages within google.com like google.com/mail, google.com/login
  • 36.
    Selenium suite oftools Selenium suite Selenium Remote Control (RC) test.js RC Server Web browser injected with Selenium core • However, it cannot access elements of other domains like yahoo.com • Local copies of Selenium core and the web browser had to be installed so that they belonged to the same domain
  • 37.
    Selenium suite oftools Selenium suite Selenium Remote Control (RC) test.js RC Server Web browser injected with Selenium core This is called Same Origin Policy and Selenium RC was introduced to address this limitation. The server acts as a client configured HTTP proxy and "tricks" the browser into believing that Selenium Core and the web application being tested come from the same origin
  • 38.
    Selenium suite Selenium WebDriver • SimonStewart developed WebDriver in 2006 • The first cross-platform testing framework • Programming interface to create and run test cases • Makes provision to act on web elements • Does not require a core engine like RC and interacts natively with the browser applications • Supports Java, C#, PHP, Python, Perl, Ruby, etc. • Supports frameworks like TestNG, JUnit, NUnit Selenium suite of tools
  • 39.
    Selenium suite oftools Selenium suite Selenium WebDriver Selenium WebDriver does not require an additional RC. It directly interacts with browser and controls its working
  • 40.
    Selenium suite oftools Selenium suite Selenium Grid • Developed by Patrick Lightbody • The main objective of Grid is to minimize test execution time • Grid was designed to distribute commands to different machines simultaneously • Selenium Grid allows the parallel execution of tests on different browsers and different operating systems • Grid is exceptionally flexible and is integrated with other suite components for simultaneous execution
  • 41.
    Selenium suite oftools Selenium suite Selenium Grid The Grid consists of a hub connected to several nodes. It receives the test to be executed along with information about the operating system and browser to be run on
  • 42.
    Selenium suite oftools Selenium suite Selenium Grid The hub picks a node that conforms to the requirements (browser and platform) and passes the test to that node
  • 43.
    Selenium suite oftools Selenium suite Selenium Grid The node runs the browser and executes the selenium commands within it
  • 44.
    Selenium 1 Selenium 2 Selenium3 Selenium 4 Selenium IDE Selenium RC Grid Selenium IDE *Selenium RC Grid Selenium IDE Selenium WebDriver Grid Selenium WebDriver Version 4 is just around the corner. However, Alpha has been released! Selenium versions
  • 45.
    Real Life Applicationsof Machine Learning Advantages of Selenium testing
  • 46.
    Advantages of Seleniumtesting Speed and Accuracy
  • 47.
    Speed and Accuracy Opensource Advantages of Selenium testing
  • 48.
    Speed and Accuracy Opensource Supports wide spectrum of programming languages Advantages of Selenium testing
  • 49.
    Speed and Accuracy Opensource Supports wide spectrum of programming languages Supports various browsers and operating systems Advantages of Selenium testing
  • 50.
    Speed and Accuracy Opensource Supports wide spectrum of programming languages Supports various browsers and operating systems Ease of implementation Advantages of Selenium testing
  • 51.
    Speed and Accuracy Opensource Supports wide spectrum of programming languages Supports various browsers and operating systems Ease of implementation Reusability and Add-ons Advantages of Selenium testing
  • 52.
    Real Life Applicationsof Machine Learning Limitations of Selenium testing
  • 53.
    Limitations of Seleniumtesting No reliable tech support
  • 54.
    Limitations of Seleniumtesting No reliable tech support Tests web applications only
  • 55.
    Limitations of Seleniumtesting No reliable tech support Limited support for image testing Tests web applications only
  • 56.
    Limitations of Seleniumtesting No reliable tech support Limited support for image testing Tests web applications only No built in reporting facility
  • 57.
    Limitations of Seleniumtesting No reliable tech support Limited support for image testing Tests web applications only No built in reporting facility Limited test management
  • 58.
    Limitations of Seleniumtesting No reliable tech support Limited support for image testing Tests web applications only No built in reporting facility Limited test management May require knowledge of programming languages
  • 59.
  • 60.
    Selenium jobs andsalary Job role • To develop test cases to detect bugs and errors • Automation framework design and implementation according to project structure • To improve and automate test practices • To participate in communicating best practices • Define test strategies and test manuals for tracking and fixing software issues
  • 61.
    Selenium jobs andsalary Job role • To develop test cases to detect bugs and errors • Automation framework design and implementation according to project structure • To improve and automate test practices • To participate in communicating best practices • Define test strategies and test manuals for tracking and fixing software issues The average salary of an Automation engineer in India is ₹5,24,000 per annum 277k 1m 524k $90.4k $21k $157k The average salary of an Automation engineer in the USA is $90,390 per annum Source- indeed.com Source- payscale.com
  • 62.
  • 63.
  • 64.

Editor's Notes