- Selenium 1 = Selenium Remote Control
- Selenium 2 = Selenium Webdriver, which combines elements of Selenium 1 and Webdriver.
- Selenium 3 = Selenium 1 + Selenium 2 (RC is deprecated and moved to legacy package)
Sunday, July 7, 2019
What is Selenium:
Selenium is an Automation Testing Framework which automates web applications for testing purposes.It is an open source and mainly used for automating functional tests and regression tests.
Note: It can be integrated with automation test tools such as Maven, Jenkins, & Docker to achieve continuous testing. It can also be integrated with tools such as TestNG, & JUnit for running test cases and generating reports.
Features of selenium:
Selenium is popular because of the below features:
- Selenium is an Open-Source.
- Selenium supports multiple languages like Java, C#, python, Ruby, Perl, Php, Java script.
- Supports multiple browsers like IE, Chrome, Firefox, Safari, Opera etc., (cross browser testing)
- Supports multiple Operating Systems like Windows, Mac, Linux etc., (Cross platform testing)
- Selenium supports for mobile platforms android and iOS
- Supports parallel test execution
- It can be integrated with other automation tools such as Maven, Jenkins and Docker etc.,
- Can be integrated with test management tools such as Jira and ALM
Limitations of Selenium:
Below are the limitations with selenium but we can we can overcome these using some integration tools:
- Selenium does not support automation testing for desktop applications
- We should know at least one of the supported programming languages
- Selenium does not have any inbuilt reporting capability
- It does not have built-in Object Repository
- It is not possible to perform testing on images
- Since Selenium is open source software, you have to rely on community forums to get your technical issues resolved
What is Test Automation:
Test Automation or Automation Testing is a method of automating execution of tests and then
Advantages of Automation Testing:
Below are some of the tools used for Test Automation
Test Automation or Automation Testing is a method of automating execution of tests and then
compares actual test results with
predicted or expected results using special software.
(or)
Test automation means using a software tool to run repeatable tests against
the application to be
tested.
Advantages of Automation Testing:
- Faster execution and rapid feedback to developers
- Supports regression testing.
- Frequent execution and gives accurate results.
- Lesser Investment in Human Resources (Better ROI)
- Disciplined documentation of test cases
- Customized defect reporting
- Running tests anytime, anywhere un-attended
- Better Test Coverage
- Support for Agile and extreme development methodologies
Below are some of the tools used for Test Automation
- Selenium (Open Source or Free ware) - Owned by Thougtworks
- UFT (Unified Functional Testing) (formerly QTP) (Commercial) – Owned by HP
- RFT (Rational Functional Tester)(Commercial) - Owned by IBM
- TestComplete (Commercial) – Owned by SmartBear Software
- Ranorex (Commercial) – Owned by Ranorex
Manual testing is a testing process that is carried out manually(executing test cases) in order to find defects without the usage of tools or automation scripting.
It is the most primitive of all testing types and helps find bugs in the software system.
Manual Testing does not require knowledge of any testing tool.
Advantages of Manual Testing:
Advantages of Manual Testing:
- Faster execution and rapid feedback to developers
- Supports regression testing.
- Frequent execution and gives accurate results.
- Lesser Investment in Human Resources (Better ROI)
- Disciplined documentation of test cases
- Customized defect reporting.
- Running tests anytime, anywhere un-attended.
- Better Test Coverage.
- Support for Agile and extreme development methodologies
- More people are required.
- More tedious. (Tiresome, As repeating thing get tired)
- More time is consumed.
- Can’t be repeated so easily.
- Concurrency is missing. (i.e. all the users cannot give request at the same instant of time)
What is Software Testing:
Software Testing is a process of verifying or validating an application with the intention of finding bugs or defects.
This can be done through either manually or using automation tool.
Definition of a Defect:
It is a deviation from
the requirement specification. (difference between expected result and actual
result)
Importance of Software Testing:
- It is an essential since it makes sure of the Customer’s reliability and their satisfaction in the application.
- It is very important to ensure the Quality of the product. Quality product delivered to the customers helps in gaining their confidence.
- Testing is required for an effective performance of software application or product.
- It is important to ensure that the application should not result into any failures because it can be very expensive in the future or in the later stages of the development.
Wednesday, June 19, 2019
Encapsulation is to make sure that "sensitive" data is hidden from users. To achieve this, you must:
In encapsulation, you never expose your data to an external party. Which makes your application secure.
Java encapsulation is referred as data hiding. But more than data hiding, encapsulation concept is meant for better management or grouping of related data.
With encapsulation, developers can change one part of the code easily without affecting other.
If a data member is declared "private", then it can only be accessed within the same class. No outside class can access data member of that class. If you need to access these variables, you have to use public "getter" and "setter" methods.
The get method returns the variable value, and the set method sets the value.
private String name; // private = restricted access
// Getter public String getName() {
return name;
}
// Setter public void setName(String newName) {
this.name = newName;
}
}
public class MyClass {
public static void main(String[] args) {
Person myObj = new Person();
myObj.name = "John"; // error System.out.println(myObj.name); // error }
}
- declare class variables/attributes as private (only accessible within the same class)
- provide public setter and getter methods to access and update the value of a private variable

In encapsulation, you never expose your data to an external party. Which makes your application secure.
Java encapsulation is referred as data hiding. But more than data hiding, encapsulation concept is meant for better management or grouping of related data.
With encapsulation, developers can change one part of the code easily without affecting other.
If a data member is declared "private", then it can only be accessed within the same class. No outside class can access data member of that class. If you need to access these variables, you have to use public "getter" and "setter" methods.
The get method returns the variable value, and the set method sets the value.
Example:
public class Person {private String name; // private = restricted access
// Getter public String getName() {
return name;
}
// Setter public void setName(String newName) {
this.name = newName;
}
}
public class MyClass {
public static void main(String[] args) {
Person myObj = new Person();
myObj.name = "John"; // error System.out.println(myObj.name); // error }
}
Example explained
The
get
method returns the value of the variable name
.
The
set
method takes a parameter (newName
) and assigns it to the name
variable. The this
keyword is used to refer to the current object.
However, as the
name
variable is declared as private
, we cannot access it from outside this class:
Subscribe to:
Posts (Atom)