Selenium Tutorial

Selenium Tool Suit Versions of Selenium Selenium Testing Difference Between Selenium and QTP Advantage and Disadvantage of Selenium

Selenium IDE Topics

Selenium-IDE Introduction Installation /download  Selenium–IDE (Firefox) Installation /download Selenium–IDE (Google Chrome) Characteristics of Selenium-IDE First test case of Selenium-IDE Login test for Selenium-IDE Selenium-IDE commands Selenium-IDE locators Id locator Name Locator  X Path Locator CSS Selector Locator Locating by ID Locating by Class Locating by Attribute Locating by ID/Class & Attribute Locating by Sub-string Locating by inner text Link Text Locator Advantage and Disadvantage of Selenium-IDE

Selenium WebDriver Topics

WebDriver introduction Characteristics of WebDriver Difference Between Selenium RC and WebDriver Installation steps of WebDriver WebDriver Class Diagram/ Architecture WebDriver control commands Browser control Navigation control Web element control Operational control Data capture control Verification control WebDriver working with chrome browser WebDriver working with Firefox browser WebDriver working with internet explorer browser WebDriver working with Microsoft Edge browser WebDriver locator Id Locator Name Locator Class name Locator Xpath Locator XPath axes Link text Locator Partial link text Locator Tag name Locator Css Selector Tag and Id Tag and Class Tag and Attribute Tag, class, and Attribute Sub string matches WebDriver wait statements Drop down handling Mouse and keyboard controls Drag and drop Event Handling Window Handling: New tab/new window Alert pop up Handling Checkbox Handling Radio button Handling Selenium Assertion

Selenium Testing

Selenium is a functional testing tool and compatible with non–functional testing tool. Selenium is free and not required any licensing.

There are specified types of testing that can be automated using Selenium:-

  Functional Testing:

  • Checking every component of a module individually in an application is known as functional testing. It is critical to any software, as it verifies that it is ready for Release.
  • Selenium automates the functional test cases mainly at the UI layer of the Web Application under testing.

Types of Functional Testing that can be automated using Selenium:

Types of Functional Testing

Smoke Testing: 

  • Checking the essential & critical features of an application before processing with in-depth regressing testing is known as smoke testing.
    • In smoke testing, we only review the positive flow of an application to check if the build is testable or not. A blocker bug can be identified at very early stages in smoke testing.
    • Generally, we do smoke testing whenever a new build is installed. Whenever the stable build installed anywhere like UAT [user acceptance testing], test server and production server, test engineer do one round of smoke testing to find any Blocker bug.
    • A smoke test case is always automated and executed on every new build when it is installed because smoke testing is a repetitive task.

Sanity Testing: 

  • When the production deployment is required to fix a critical bug immediately on a build, test engineer do one round of sanity testing. For detailed testing of some limited features, sanity testing follows the narrow and deep approach.
  • It is a subset of regression testing, and it is typically non-scripting. 
  • If the build failed, the test engineer should reject the build to avoid wasting time and cost involved in testing.
  • Build level regression testing is also knowns sanity testing.

UI Testing:

  • UI testing involves testing the GUI [Graphical User Interface] elements of the Application like check-box options, buttons, menus, text alignments, etc. are correctly displayed.
    • Web-based Applications are those applications which can be accessed through a URL.

In such applications, we mainly test the front end of the Application, which is used by the end-user.

  • UI testing is also known as front-end testing or Application testing.
    • A test engineer has a good understanding of business requirements, coding, functional knowledge, etc. to perform UI testing.

 Database Testing:  

  • Check whether the data is posted and updated in the UI of Application is in sync with data stored in the database of the Application. It is also knowns as back-end testing or data testing because back-end components are not visible to the user.
  • Checking the schema, tables, columns, key and indexes, triggers and stored procedures, etc. of the database is called database testing. Database testing is used to check data integrity and consistency.

 Cross Browser Testing: 

  • Testing the Application in all the supported web browsers, is called cross-browser testing.
    • Cross-browser testing is used for both web and mobile applications.
    • Cross Browser testing is used to test your web application in multiple browsers, and it works consistently, and there is no compromise in the quality of the product.
    • It is running the same set of test cases various times on different browsers.

 Regression Testing:

  • Whenever code changes due to the enhancement of bug fixes and to make sure that existing features are not affecting, is known as regression testing.
  • Whenever there is new Release for some project, then we go for Regression Testing because the new feature may change the old features in the previous releases.
  • Regression testing is used to verify that the bug fixes and the newly added functionality do not create any problem in the earlier version of the product.
  • It is not dependent on any programming language like Java, C++, C#, etc.