In this Selenium presentation, we will learn about Selenium and a have a hands-on demo on the working of Selenium IDE and WebDriver. Selenium is an automated testing tool that tests web applications across various platforms and browsers. Selenium IDE, RC, WebDriver, and Grid constitute the Selenium suite. The tutorial video touches upon all the topics related to these components.
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course contains a lot of real-life examples and situations to demonstrate how to use Selenium WebDriver effectively.
The following are the key concepts of Selenium included in the presentation:
1. Manual testing and its limitations
2. What is Selenium
3. Selenium suite of tools
⦁ Selenium IDE with demo
⦁ Selenium RC
⦁ Selenium WebDriver with demo
⦁ Selenium Grid
4. Advantages of Selenium testing
5.Limitations of Selenium testing
What are the objectives of this Selenium training course?
This course will enable you to:
1. Revise the core Java concepts which are essential for learning Selenium WebDriver
2. Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
3. Create Test Cases using Selenium IDE – Record and Playback tool
4. Understand Selenium WebDriver architecture and various layers of interaction
5. Set up WebDriver project in Eclipse and write test cases using TestNG
6. Locate elements using various locating techniques
7. Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
8. Learn to deal with various possible scenarios in terms of pop-ups, multiple Windows, frames, taking screenshots
9. Implement Page Object Design Pattern and Data-Driven Testing
10. Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
11. Learn to use Selenium Grid with TestNG for parallel execution
12. Execute a project from scratch by building automation framework and automating a few test scenarios
Who should take this Selenium training course?
The course is ideal for :
1. Test Managers
2. Test Engineers
3. Test Lead
4. Test Analyst
5. QA Engineers
6. Software Developers
7. Engineers who want to learn Automation testing
Learn more about https://www.simplilearn.com/selenium-certification-training?utm_campaign=Selenium-Tutorial-For-Beginners-cobEbkTwbwY
2. 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
6. Manual Testing
One of the primitive methods of
testing a software
Execution of test cases without using
automation tools
7. 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
8. 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
9. 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
10. 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
11. 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
13. What is Selenium?
Selenium is an automated testing tool used to test web applications across
various browsers
14. 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
15. What is Selenium?
Since its inception, Selenium has been a powerful automation testing tool to
test various web applications across different platforms
17. Selenium suite of tools
Selenium IDE
Selenium test
suite
Selenium
suite
18. Selenium suite of tools
Selenium RCSelenium IDE
Selenium test
suite
Selenium
suite
19. Selenium suite of tools
Selenium RC
Selenium WebDriver
Selenium IDE
Selenium test
suite
Selenium
suite
20. Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium IDE
Selenium test
suite
Selenium
suite
21. 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
22. Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
IDE
23. 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
24. 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
25. 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
30. 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
31. Selenium suite of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
RC
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
41. Selenium WebDriver
Founded by Simon Stewart in 2006
It is a cross platform testing framework
Programming interface to create and run test cases
42. 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
43. 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
44. 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.
45. 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
46. 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
47. 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
49. Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Selenium
WebDriver
Simple architecture
50. Comparison between Selenium RC and WebDriver
Selenium RC
Complex architecture
Slower execution
Selenium
WebDriver
Simple architecture
Faster execution
51. 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
52. 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
53. 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
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 of tools
Selenium RC
Selenium WebDriver Selenium Grid
Selenium
suite
Selenium IDE
Let’s learn about Selenium
Grid
56. 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
57. 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
58. Selenium Grid
The hub picks a node that conforms to the requirements (browser and platform) and
passes the test to that node
61. 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
62. 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