What’s in it for you?
Manual testing and its limitations
What is Selenium?
Advantages of Selenium testing
Selenium suite of tools
Limitations of Selenium testing
What is Machine Learning?
Manual Testing
Manual Testing
Manual testing mainly involves the physical execution of test cases against
various applications to detect bugs and errors
Manual Testing
One of the primitive methods of
testing a software
Manual Testing
One of the primitive methods of
testing a software
Execution of test cases without using
automation tools
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
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
Limitations of Manual Testing
Extremely time consuming
Requires a tester all the time
No support for performance and
batch testing
Limited scope
Manual creation of logs and repositories
High risk of error
Birth of Selenium
Jason Huggins, an engineer at ThoughtWorks, Chicago found the repetitious work of
manual testing strenuous and monotonous
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
How does Selenium help?
Speed of execution Accurate results Lesser investment in human resources
Time and cost effective Early time to market Supports re-testing
What is 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
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
What is Selenium?
Since its inception, Selenium has been a powerful automation testing tool to
test various web applications across different platforms
What is Machine Learning?
Selenium suite of tools
Selenium suite of tools
Selenium IDE
Selenium test
suite
Selenium
suite
Selenium suite of tools
Selenium RCSelenium IDE
Selenium test
suite
Selenium
suite
Selenium suite of tools
Selenium RC
Selenium WebDriver
Selenium IDE
Selenium test
suite
Selenium
suite
Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium IDE
Selenium test
suite
Selenium
suite
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
Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
IDE
Developed by Shinya Kastani in 2006
Firefox add-on that helps create tests
Easy-to-use interface to build automated test scripts
Records user interactions on the browser and exports them as a reusable script
Generally used as a prototyping tool
Selenium IDE
Selenium IDE
Selenium IDE ceased to
exist in August 2017
Firefox upgraded to a new Firefox
55 version which no longer
supported Selenium IDE
Applitools rewrote the old
Selenium IDE and released a
new version recently
Selenium IDE
Re-usability of test scripts Debugging the scripts Selenium side runner
Provision for control flow statements Improved locator functionality
Advancements with new Selenium IDE
Selenium IDE
Typical Selenium Integrated Development Environment
Record
Selenium IDE
Typical Selenium Integrated Development Environment
Tool Bar
Selenium IDE
Typical Selenium Integrated Development Environment
Test script editor
box
Selenium IDE
Typical Selenium Integrated Development Environment
Test execution log
Selenium IDE
Cannot export to
WebDriver scripts yet
Does not support data-
driven testing yet
Cannot perform database
testing
Cannot provide detailed
test report
Limitations of Selenium IDE
Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
RC
Selenium RC
The browser works accordingly
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
Selenium RC
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 RC
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 RC
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 RC
The time taken for execution of commands is longer
This additional setup complicates the architecture
RC consists of an additional server that acts as a middle man
APIs supported by Selenium RC are redundant and confusing
Shortcomings of Selenium RC
Selenium RC
The time taken for execution of commands is longer
This additional setup complicates the architecture
RC consists of an additional server that acts as a middle man
APIs supported by Selenium RC are redundant and confusing
Shortcomings of Selenium RC
Selenium RC has been deprecated and
remains obsolete
Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
WebDriverLet’s learn about
Selenium WebDriver
Selenium WebDriver
Founded by Simon Stewart in 2006
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
Makes provision to perform action on web elements
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
Makes provision to perform action on web elements
Does not require a core engine like RC
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
Makes provision to perform action on web elements
Does not require a core engine like RC
Supports Java, C#, PHP, Python, Perl, Ruby etc.
Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
Makes provision to perform action on web elements
Does not require a core engine like RC
Supports Java, C#, PHP, Python, Perl, Ruby etc.
Supports frameworks like TestNG, JUnit, NUnit
Selenium WebDriver
JSON Wire
Protocol
Browser Drivers
• ChromeDriver
• FirefoxDriver
• OperaDriver
• SafariDriver
• EdgeDriver
Browsers
• Chrome browser
• Firefox browser
• Opera browser
• Safari browser
• Edge browser
HTTP over HTTP Server
Selenium test script
(Java, PHP, Perl…)
Architecture of WebDriver
Selenium WebDriver
CrossBrowserTesting
Cannot test mobile applications.
Requires frameworks like Appium
Can only perform sequential testing
hence requires Grid for parallel testing
Limitations of WebDriver
Selenium WebDriver
Limited reporting.
Third party tools like TestNG are
required
Limited image testing
Limitations of WebDriver
Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Selenium
WebDriver
Simple architecture
Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Slower execution
Selenium
WebDriver
Simple architecture
Faster execution
Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Slower execution
Requires an RC server to interact
with the browser
Selenium
WebDriver
Simple architecture
Faster execution
Interacts directly with the
browser
Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Slower execution
Requires an RC server to interact
with the browser
Confusing APIs
Selenium
WebDriver
Simple architecture
Faster execution
Interacts directly with the
browser
Easy to use APIs
Comparison between Selenium RC and WebDriver
Complex architecture
Slower execution
Requires an RC server to interact
with the browser
Confusing APIs
No support for HtmlUnit
browser
Simple architecture
Faster execution
Interacts directly with the
browser
Easy to use APIs
Support for HtmlUnit
browser
Selenium RC
Selenium
WebDriver
Demo
Use case 1: Navigate to the official Simplilearn website.
https://www.simplilearn.com/search?tag=automation+testing&source=opensearch
Use case 2: Click on “Automation testing masters program”
Use case 3: Click on “Selenium 3.0 training”
Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
Grid
Selenium Grid
Grid is exceptionally flexible and is integrated with other suite components for simultaneous
execution
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
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 Grid
The hub picks a node that conforms to the requirements (browser and platform) and
passes the test to that node
Selenium Grid
The node runs the browser and executes the selenium commands within it
Selenium Grid
Limitations of Grid
Limited scalability
Cannot scale up or down on
demand
Selenium Grid
Limitations of Grid
Limited scalability
Cannot scale up or down on
demand
Static
Since the nodes are pre-
configured, making changes is a
challenge
Selenium Grid
Limitations of Grid
Limited scalability
Cannot scale up or down on
demand
Static
Since the nodes are pre-
configured, making changes is a
challenge
Not cloud-native
Grid cannot use the distributed storage,
automatic fail-over facilities
What is Machine Learning?
Advantages of Selenium testing
Advantages of Selenium testing
Speed and accuracy Open source Supports wide spectrum of
programming languages
Advantages of Selenium testing
Supports various browsers
and operating systems
Ease of implementation Reusability and
add-ons
What is Machine Learning?
Limitations of Selenium testing
Limitations of Selenium testing
No reliable tech support Limited support for image
testing
Tests web applications only
Limitations of Selenium testing
No built in reporting
facility
May require knowledge of
programming languages
Limited test management
What is Machine Learning?
Key Takeaways
Key Takeaways
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Selenium | Simplilearn

Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Selenium | Simplilearn

  • 2.
    What’s in itfor you? Manual testing and its limitations What is Selenium? Advantages of Selenium testing Selenium suite of tools Limitations of Selenium testing
  • 3.
    What is MachineLearning? Manual Testing
  • 4.
    Manual Testing Manual testingmainly involves the physical execution of test cases against various applications to detect bugs and errors
  • 5.
    Manual Testing One ofthe primitive methods of testing a software
  • 6.
    Manual Testing One ofthe primitive methods of testing a software Execution of test cases without using automation tools
  • 7.
    Manual Testing One ofthe primitive methods of testing a software Execution of test cases without using automation tools Does not require the knowledge of a testing tool
  • 8.
    Manual Testing One ofthe 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.
    Limitations of ManualTesting Extremely time consuming Requires a tester all the time No support for performance and batch testing Limited scope Manual creation of logs and repositories High risk of error
  • 10.
    Birth of Selenium JasonHuggins, an engineer at ThoughtWorks, Chicago found the repetitious work of manual testing strenuous and monotonous 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
  • 11.
    How does Seleniumhelp? Speed of execution Accurate results Lesser investment in human resources Time and cost effective Early time to market Supports re-testing
  • 12.
    What is MachineLearning? What is Selenium?
  • 13.
    What is Selenium? Seleniumis an automated testing tool used to test web applications across various browsers
  • 14.
    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
  • 15.
    What is Selenium? Sinceits inception, Selenium has been a powerful automation testing tool to test various web applications across different platforms
  • 16.
    What is MachineLearning? Selenium suite of tools
  • 17.
    Selenium suite oftools Selenium IDE Selenium test suite Selenium suite
  • 18.
    Selenium suite oftools Selenium RCSelenium IDE Selenium test suite Selenium suite
  • 19.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium IDE Selenium test suite Selenium suite
  • 20.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium Grid Selenium IDE Selenium test suite Selenium suite
  • 21.
    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
  • 22.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium Grid Selenium suite Selenium IDE Let’s learn about Selenium IDE
  • 23.
    Developed by ShinyaKastani in 2006 Firefox add-on that helps create tests Easy-to-use interface to build automated test scripts Records user interactions on the browser and exports them as a reusable script Generally used as a prototyping tool Selenium IDE
  • 24.
    Selenium IDE Selenium IDEceased to exist in August 2017 Firefox upgraded to a new Firefox 55 version which no longer supported Selenium IDE Applitools rewrote the old Selenium IDE and released a new version recently
  • 25.
    Selenium IDE Re-usability oftest scripts Debugging the scripts Selenium side runner Provision for control flow statements Improved locator functionality Advancements with new Selenium IDE
  • 26.
    Selenium IDE Typical SeleniumIntegrated Development Environment Record
  • 27.
    Selenium IDE Typical SeleniumIntegrated Development Environment Tool Bar
  • 28.
    Selenium IDE Typical SeleniumIntegrated Development Environment Test script editor box
  • 29.
    Selenium IDE Typical SeleniumIntegrated Development Environment Test execution log
  • 30.
    Selenium IDE Cannot exportto WebDriver scripts yet Does not support data- driven testing yet Cannot perform database testing Cannot provide detailed test report Limitations of Selenium IDE
  • 31.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium Grid Selenium suite Selenium IDE Let’s learn about Selenium RC
  • 32.
    Selenium RC The browserworks accordingly 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
  • 33.
    Selenium RC RC Server Webbrowser 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
  • 34.
    Selenium RC RC Server Webbrowser 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
  • 35.
    Selenium RC RC Server Webbrowser 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
  • 36.
    Selenium RC The timetaken for execution of commands is longer This additional setup complicates the architecture RC consists of an additional server that acts as a middle man APIs supported by Selenium RC are redundant and confusing Shortcomings of Selenium RC
  • 37.
    Selenium RC The timetaken for execution of commands is longer This additional setup complicates the architecture RC consists of an additional server that acts as a middle man APIs supported by Selenium RC are redundant and confusing Shortcomings of Selenium RC Selenium RC has been deprecated and remains obsolete
  • 38.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium Grid Selenium suite Selenium IDE Let’s learn about Selenium WebDriverLet’s learn about Selenium WebDriver
  • 39.
    Selenium WebDriver Founded bySimon Stewart in 2006
  • 40.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework
  • 41.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework Programming interface to create and run test cases
  • 42.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework Programming interface to create and run test cases Makes provision to perform action on web elements
  • 43.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework Programming interface to create and run test cases Makes provision to perform action on web elements Does not require a core engine like RC
  • 44.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework Programming interface to create and run test cases Makes provision to perform action on web elements Does not require a core engine like RC Supports Java, C#, PHP, Python, Perl, Ruby etc.
  • 45.
    Selenium WebDriver Founded bySimon Stewart in 2006 It is a cross platform testing framework Programming interface to create and run test cases Makes provision to perform action on web elements Does not require a core engine like RC Supports Java, C#, PHP, Python, Perl, Ruby etc. Supports frameworks like TestNG, JUnit, NUnit
  • 46.
    Selenium WebDriver JSON Wire Protocol BrowserDrivers • ChromeDriver • FirefoxDriver • OperaDriver • SafariDriver • EdgeDriver Browsers • Chrome browser • Firefox browser • Opera browser • Safari browser • Edge browser HTTP over HTTP Server Selenium test script (Java, PHP, Perl…) Architecture of WebDriver
  • 47.
    Selenium WebDriver CrossBrowserTesting Cannot testmobile applications. Requires frameworks like Appium Can only perform sequential testing hence requires Grid for parallel testing Limitations of WebDriver
  • 48.
    Selenium WebDriver Limited reporting. Thirdparty tools like TestNG are required Limited image testing Limitations of WebDriver
  • 49.
    Comparison between SeleniumRC and WebDriver Selenium RC Complex architecture Selenium WebDriver Simple architecture
  • 50.
    Comparison between SeleniumRC and WebDriver Selenium RC Complex architecture Slower execution Selenium WebDriver Simple architecture Faster execution
  • 51.
    Comparison between SeleniumRC and WebDriver Selenium RC Complex architecture Slower execution Requires an RC server to interact with the browser Selenium WebDriver Simple architecture Faster execution Interacts directly with the browser
  • 52.
    Comparison between SeleniumRC and WebDriver Selenium RC Complex architecture Slower execution Requires an RC server to interact with the browser Confusing APIs Selenium WebDriver Simple architecture Faster execution Interacts directly with the browser Easy to use APIs
  • 53.
    Comparison between SeleniumRC and WebDriver Complex architecture Slower execution Requires an RC server to interact with the browser Confusing APIs No support for HtmlUnit browser Simple architecture Faster execution Interacts directly with the browser Easy to use APIs Support for HtmlUnit browser Selenium RC Selenium WebDriver
  • 54.
    Demo Use case 1:Navigate to the official Simplilearn website. https://www.simplilearn.com/search?tag=automation+testing&source=opensearch Use case 2: Click on “Automation testing masters program” Use case 3: Click on “Selenium 3.0 training”
  • 55.
    Selenium suite oftools Selenium RC Selenium WebDriver Selenium Grid Selenium suite Selenium IDE Let’s learn about Selenium Grid
  • 56.
    Selenium Grid Grid isexceptionally flexible and is integrated with other suite components for simultaneous execution 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
  • 57.
    Selenium Grid The Gridconsists 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
  • 58.
    Selenium Grid The hubpicks a node that conforms to the requirements (browser and platform) and passes the test to that node
  • 59.
    Selenium Grid The noderuns the browser and executes the selenium commands within it
  • 60.
    Selenium Grid Limitations ofGrid Limited scalability Cannot scale up or down on demand
  • 61.
    Selenium Grid Limitations ofGrid Limited scalability Cannot scale up or down on demand Static Since the nodes are pre- configured, making changes is a challenge
  • 62.
    Selenium Grid Limitations ofGrid Limited scalability Cannot scale up or down on demand Static Since the nodes are pre- configured, making changes is a challenge Not cloud-native Grid cannot use the distributed storage, automatic fail-over facilities
  • 63.
    What is MachineLearning? Advantages of Selenium testing
  • 64.
    Advantages of Seleniumtesting Speed and accuracy Open source Supports wide spectrum of programming languages
  • 65.
    Advantages of Seleniumtesting Supports various browsers and operating systems Ease of implementation Reusability and add-ons
  • 66.
    What is MachineLearning? Limitations of Selenium testing
  • 67.
    Limitations of Seleniumtesting No reliable tech support Limited support for image testing Tests web applications only
  • 68.
    Limitations of Seleniumtesting No built in reporting facility May require knowledge of programming languages Limited test management
  • 69.
    What is MachineLearning? Key Takeaways
  • 70.

Editor's Notes