2. Agenda
• What is testing and why is it required.
• What is Automation testing.
• Difference between Manual and Automation testing.
• Different Automation testing tools in IT industry.
• What is Selenium and why do we need Selenium.
• History of Selenium.
• Who developed Selenium.
• Different versions of Selenium.
• Pre-requisites of Selenium.
• Different types of Components in Selenium.
• Different locators used in Selenium.
• Different languages supported in Selenium.
3. • Different kinds of browsers Selenium Supports.
• Different kinds of O.S Selenium Supports.
• Why should I prefer Selenium over other Automation tools.
• What are the advantages of using Selenium.
• Different kind of Selenium Web drivers.
• Comparing Selenium with other Automation testing tools.
• Page Object Model in Selenium(Demo).
• Conclusion.
4. What is testing and why is it
required ?
• To check the functionality of the application
which is working as expected.
• To deliver a quality or bug free product.
• To ensure application is working properly without
breaking into failures.
• To check if there is any error occurred during the
development phase.
5. What is Automation testing.
• It is a process of automating the software
application or browser without any human
intervention.
• In automation testing, developers writes a script
and execute it through software testing tools like
Coded UI, Selenium, Protractor, Appium etc.
• With automation testing tools we can overcome
manual repetitive tasks.
6. Difference between Manual and
Automation testing.
Manual Testing:
• Human intervention is required.
• Human can make mistakes.
• Execution of test cases sequentially.
• Requires more number of resources.
Automation testing:
• No human intervention is required.
• Software cannot make mistakes.
• Execution of test cases in sequential and parallel.
• Requires few resources.
7. Different Automation testing tools in IT
industry.
• Selenium
• CodedUI
• QTP
• Protractor(For Angular Applications)
• TestCafe
• Sikuli
• Appium
• TestStackWhite
• Robotic Process Automation(RPA) Tools.
8. What is Selenium and why do we
need Selenium.
• Selenium is an automation testing tool or
software testing framework used for automating
browser or web applications.
• Selenium is an open source which is written in
Java and can be used with various programming
languages.
• It is a library or an API which can be integrated
with different programming languages.
9. Why do we need Selenium.
• We can automate web applications, desktop or
windows application, mobile applications(IOS &
Android), headless browser execution etc.
• Open Source library.
• Faster in execution.
• Language independent.
• Platform independent.
• Support execution in various browsers.
• Executes TC’s sequentially or parallely connected in
LAN network.
• Large user support group.
10. History of Selenium.
• Jason Huggins developed an internal project to test internal
applications at Thought Works, which was developed in client side
technology like JavaScript. ie.(Selenium IDE).
• Paul Hammant joined his team and developed the other version of
Selenium, i.e.(Selenium RC) then this tool became open-source to
work with the different Browsers and different platforms.
• Simon Stewart at Thought Works developed an Automation tool for
the browser known as Webdriver and later they merged these
Selenium RC with Webdriver called Selenium Webdriver(Selenium
2.0).
• Philippe Hanrigou at ThoughtWorks developed Selenium Grid.
Selenium Grid is used for configuring single hub and multiple nodes.
11. Who developed Selenium.
Versions Developed By.
• Selenium IDE Jason Huggins.
• Selenium RC Paul Hammant.
• Selenium Web driver Simon Stewart.
• Selenium Grid Philippe Hanrigou.
12. Different Versions of Selenium.
Versions :
• Selenium IDE (Selenium 1.0).
• Selenium Remote Control(RC).
• Selenium Webdriver(Selenium 2.0).
• Selenium-Grid 1.0(Launched in 2008).
• Selenium-Grid 2.0(Launched in 2012).
• Selenium 3.0(Launched in July 2016).
• Selenium 4.0(Expected to launch in year end).
13. Pre-requisites of Selenium.
• Java Runtime Environment (Latest
recommended).
• Selenium Webdrivers like chromeDriver,
IEDriver, GeckDriver etc.
• Browsers such as chrome, IE, Firefox(Latest
recommended).
14. Different types of components in
Selenium.
• Selenium IDE
• Selenium RC(Remote Control)
• Selenium Web driver
• Selenium Grid.
15. Selenium IDE
• Extension of Firefox.
• Executes the commands only in Firefox browser.
• No programming or coding is required.
• Cannot perform complex operations.
• Doesn’t support parallel execution.
• Slow in execution.
• Cannot automate IOS or Android applications.
• Cannot automate kendo UI or Angular controls.
17. Selenium RC
• It’s a library or an API.
• It supports various browser’s for execution.
• It supports parallel execution with the help of Selenium
Grid.
• It doesn’t support IOS & Android apps automation.
• It support various Programming language.
• It’s based on Client/Server architecture.
• Drawback with Selenium RC is, programmer or
developer need to run the Selenium server then only
we can execute the test cases.
18. Selenium Webdriver
• It’s also a library or an API.
• It supports various browser to execute test cases.
• It supports various programming languages.
• It supports parallel execution with Selenium Grid.
• It supports IOS & Android automation.
• It doesn’t depend on Client/Server architecture.
• Faster in execution compared to Selenium RC.
• It supports various drivers.
• Programmer or developer doesn’t requires to run the
Selenium server to execute test cases.
22. Different kinds of browsers
Selenium Supports.
• Google Chrome
• Mozilla Firefox
• Internet Explorer
• Edge browser(Selenium 3.0)
• Safari browser
• Opera
23. Different kinds of OS Selenium
Supports
• Windows
• Mac
• Linux
• Solaris
24. Why should I prefer Selenium over
other Automation tools.
• It is Open Source
• It supports various browsers.
• It supports various programming language.
• Execution of test cases sequentially & parallely.
• High demand in market.
• Large user support group.
• We can automate various kind of applications.
• High pay for Selenium Automation Testers.
25. Different kind of drivers Selenium
Supports
• Chrome Driver
• Internet Explorer Driver
• Opera Driver
• Safari Driver
• Gecko Driver
• Edge Driver
26. Comparing Selenium with other
Automation testing tools.
CodedUI:
• It’s license version with ultimate or enterprise visual studio.
• It can be developed using C#.
QTP/UFT or RPA Tools:
• It’s license version, can be developed using VBScript.
Protractor or Cypress.io or Test cafe:
• It’s open source but development is done only in java Script.
Selenium:
• It is an open source.
• It supports development in C#, Java, JavaScript, Ruby, PERL, Python
PHP etc.
27. Page Object Model in Selenium
• Page Object Model is a design pattern which became
popular in test automation for the maintenance of code,
reducing code duplication and reusability of code.
• Page Object Model is used to create Object Repository
or Control Properties for web UI elements. For each web
page in the application, there should be corresponding
page class like Login Page, Registration Page etc.
• All the control locators & respective functionality should
be maintained in separate class files, if any control
property changes we can change the locators class
without disturbing the functionality of it.
28. Conclusion
• Its Open Source Library.
• Selenium helps in automation of Web application,
Windows application, WPF application, Headless
browser application, Mobile application(IOS,
Android) etc.
• It supports various programming languages such as
C#, Java, Python, Ruby, Perl, JavaScript etc.
• It supports various browsers such as Chrome,
Firefox, IE, Edge, Opera, Safari etc.
• No other automation tools in the market supports
these kind of features.
• It’s single package with various bundle of features.