Session 21 - Selenium with Java | Introduction & Environment Setup

SDET- QA15,161 words

Full Transcript

so from today we are going 

to start uh selenium web driver so first let us see the introduction 

like what is selenium web driver and what it is contains and then we will see how we can 

set up environment and after that we'll see how we can write a basic automation uh test 

case Okay so first thing uh what is selenium selenium web driver there are three definitions 

are there so we need to understand those three definitions first so what is selenium web driver 

the first definition is web driver is one of the component in selenium web driver is a one of 

the component in selenium so selenium contains the three components one is selenium ID selenium 

web driver selenium grd so these are the three components which we can call them as a selenium 

suit and web driver is a one of a component in selenium through which we can automate web 

applications okay this is a main component for automating the web applications and the 

second one is web driver is a Java interface web driver is a Java interface so in Java we 

have understood about interface like what is an interface in Java interface interface is a 

blueprint of class which contains a public and static variables and which contains a default 

method public methods abstract methods and if there is an interface that should be implemented 

by using a class right there should be some class there must be a class which will implement 

the interface so these are all the points we have understood so the celum web driver is 

an interface they have designed web driver as an interface initially and the later on the web 

driver interface implemented by using multiple classes like Chrome driver class or Internet 

Explorer class Firefox browser class because when I say when I talk about web application so 

people can access web application in different browsers some people will use Chrome some some of 

them will use Firefox and some other browsers so web driver is an interface and whatever 

interface which you have if you want to implement this web driver for example Chrome 

browser is there so as an tester I'm using Chrome browser so whatever methods are there in 

the web driver interface if you implement those methods by using Chrome driver class and these 

implementations Works only for Chrome browser it cannot use for any other browser because 

the browser sub browser internal architecture will be different even the purpose or goal of the 

browser is same but internally the implementation architecture level there are differences so 

same web driver methods may not work for all kinds of browsers so they have created different 

classes for each browser for example if it's is a Chrome browser they created something 

called Chrome driver class and this class is implemented all the methods from web driver 

interface and similarly there is another class called Firefox driver class and this class is 

implemented again same web driver interface according to Firefox browser architecture so like 

this how many browsers are in the market like this there are Edge driver is also there and Etc so 

how many browsers are the market there are number of classes are implemented web driver interface 

and again web driver interface is not directly implemented by these classes but in between there 

is another class called remote web driver class remote web driver class so actually web driver 

interface is implemented directly by remote web driver class and this remote web driver class 

implemented extends again into Chrome Driver F firef Fox Hedge so these are the extended classes 

from remote web driver class okay web driver is an interface and remote web driver is a class and 

rest of them all classes clone driver Firefox Ed driver so these are all extended classes from 

reboard web driver so this is how exactly they have designed web driver is a Java interface 

which contains some variabl some static method public method abstract methods and so on and again 

the web driver interface is implemented by remote web driver class one single class and this again 

remote web driver class again extends into Chrome driver Firefox driver and H driver now these three 

are the child classes of remote web driver class in other words we can say these are all CHS of web 

driver also okay so this is a architecture so web driver is a Java interface that is a second def 

yeah remote web driver is a parent of all three classes and we can also consider web driver is 

also parent parent of parent suppose if I create an object for Chrome driver or Firefox or Edge 

driver can we hold that object in the remote web driver class yes or no can we hold that object in 

the remote web driver class object yes similarly if I create an object for these classes can we 

hold those objects in the web driver variable can we create a variable object for web driver object 

we cannot create but the variable we can create right so web driver variable also can hold all the 

objects of this classes okay remember this point this is most important point right next one web 

driver is an API application programming interface this is the third definition web driver is a an 

API so to understand this we need to to First understand what is an API okay and application 

programming interface what exactly the API means and how it is going to work and then we will 

understand why web driver is an API okay so let us try to understand what is an API a simple 

definition I'll give you application programming is interface and three uh words are there in 

this application programming and interface we need to divide these three terms and then 

we need to understand application programming in interface okay these are three terms we need 

to understand so let me explain what exactly it is just a moment yeah so application programming 

uh interface so normally if you take any web application there are three 

kinds of layers are there okay one is called front end layer let's say this is our front end and the second one is called application layer or business logic layer and the third 

layer is DB layer or back end layer okay front end application server or we can say web 

server or web layer and database so these are the three parts are there for if you take 

any web based applications okay so what is front end application means this is also called 

presentation layer because user will directly interact with the application through browser 

right we will always browse web pages through browser only all web applications so through 

the URL so what we will do here we will send some URL right and we do some operations here 

insertion updation deletion so whatever thing you are doing on the browser level that is all 

comes under user actions or user interactions so normally what happens is the presentation layer 

is responsible for presenting the data to the user so as a user I can browse all the pages in the 

browser I can see everything from the server but I have not installed anything on my local system 

just browsing the pages but actually from where those pages are coming from from the database yeah 

actual data is stored in the database so this is hold the data okay and between these two there is 

another layer called business logic layer or which is also called application layer or we can say 

web server multiple names are there and this is a mediate tree between the presentation layer 

and the database layer so what is the purpose of this layer is and what this layer basically 

contains is a business logic actual programming will be there in inside this the programmers or 

developers whatever the code they have developed and the actual functional code actual software 

will be installed in this particular layer so what exactly happening is whenever you're sending 

some request because whenever hit the URL or when you click on the submit button or when you're 

browsing the data basically what happens is one request will go to the server okay one request 

user request will go to the server and when I hit the server in the business logic there are n 

number of apis are there apis apis in the sense application programming interface it's a kind 

of a a program we can simply see it's a kind of a program a logic okay and there are n number of 

apas will be resides in this business logic okay n number of apas so many apas and whenever you send 

some request and again there are different type of requests are there we have something called 

get request okay and then we have a put request we have a delete request so like this we have 

a multiple type of request we will send and it will hit to the particular API so what type of 

request we are sending from here corresponding API will be triggered and what is an API API is 

a small piece of code which is a simple program and this API interface will get the request and 

whenever we send a request particular API will be triggered and what that API will do as soon as it 

receive the request and it will also send the same request to the database layer and API will receive 

the request here from the business logic layer and then according to the request it will send to the 

database layer now in the database layer the data will be fited whatever the request we have sent 

corresponding data will be fetched and again it will go given back to the API and that means it 

is called response and once API get the response the same response will be presented to the user 

in understandable format so that is how the API works so whenever you take any kind of API that 

requires some kind of a request that means we have to provide some input and it will give the 

response okay it will request take the request and provide the response to the user so from the 

user it will take the request and to the user it will provide the response that is the purpose of 

an APM simple example I'll tell you to understand the AP if you go to the restaurant okay let's say 

there is a kitchen actual food will be prepared in the kitchen right so here the food will be 

prepared and here the customers are waiting let's say these are the customers customers directly 

don't go to the kitchen and get the food right so in between these two there will be one person 

right we will order our food to that person and what he will do he will go to the kitchen again 

the food will be prepared here and get the food and serve here so this person is called API it is 

doing he is actually doing the job of API okay so this is how we can understand so microservice is 

totally different so that will not come here I'm talking about only apis okay so microservices will 

be used to interact between multiple apis again so each and every API will have some communication 

so API to API so they exactly microservices come into picture but here I'm talking about only apis 

okay right so this is how we can understand what exactly API means so API is an interface now 

you try to understand these terms application programming and interface APA contains what AP 

contains what a business Logic the business logic is written in the programming language so this 

is basically having some programming application API contains some programming code so it is a 

programming and it is acting as an interface between our presentation layer and database layer 

so it is an interface and also it is assisting to the application right why we have created an 

API because from the application we are sending the request to the API and API providing the 

response so it is also acting as an applic to assisting the application actually so this is 

an application so API is a application because it is assisting to the application so it is an 

application which contains a programming so it is a programming and also acting as an interface so 

it is an interface combinely we can call it as a application programming and interface this is how 

the name comes application programming interface API so everybody's understood now what is an APA 

is a very basic concept I have explained and if you understand in detail so I will share some of 

the videos introduction videos of API you can just watch them and try to understand for now this much 

is more than enough okay so now we have understood what is an API but we need to understand why web 

driver is API why web driver is an API so let's say when you do automation like what are the 

main components which we have is browser the first main component is what browser let's say 

this is my browser understand very carefully so this is my browser and web driver where web 

driver will sit into so web driver will be here so all web driver methods will be here and 

web driver will interact with the browser okay so how this web driver methods will will invoke 

let's say web driver means what interface which contains different type of methods again these are 

all implemented implemented by remote web driver class again extend into multiple classes basically 

what is a class contains so many methods when you call those methods it will perform certain tasks 

so web driver contains so many number of methods by calling these methods we will try to automate 

the web application so each method is having their own purpose who will call this method from the 

web driver our Java program our from java code or in Eclipse whatever ID we are using from that ID 

eclipse or intellig so whatever ID you are using from here through Java some Java programming or 

python or whatever through Java program we are trying to invoke in the web driver methods or we 

are trying to call the web driver methods and web driver methods will ually perform the task on the 

browser like it will open the URL automatically and it will enter the input some input in the 

input box it will perform the click action on the okay button so all kinds of actions on the browser 

will be done by using the web driver methods web driver methods will do the job okay and we will 

we will call these web driver methods is through Java program Java is a client we can observe the 

Java is a present presentation okay Java will call those methods web driver methods and web driver 

methods will perform the task on the browser okay but again this how this web driver will interact 

with the browser internally there are certain Protocols are there okay previously there is Json 

protocol they are trying to use but from java from selenium 4 onwards they have replaced this 

Json protocol to w3c protocol so this is a kind of a protocol or technology through which the web 

driver methods will talk to the browser okay then execution will happen so if you look at this web 

driver it works between two layers one is browser other one is our Java code which is a client 

actually so what web driver method is doing which is do which is calling by Java that means when I 

call this method sometimes we can pass parameters sometimes may not require any parameters so 

basically who is invoking this method is Java and after receiving this method after call this method 

what method is doing it is performing action on the browser that means it is an application 

programming an interface why it is working as an interface between our client and the backend 

browser between these two layers the web driver is exactly working here so that is the reason web 

driver is acting as a API application programming and interface so here see AP in the sense there 

no need to be have any data database mainly three layers should be there it can be any type of layer 

okay here we do not have any database here we do not have any database but the layers you have to 

look at okay Java client is one layer browser is another layer and between these two exactly web 

driver is working so web driver is nothing but it is receiving the request and sending the same 

request to the browser and action is performed here got my point when you call this web driver 

method and what web driver method will do it will perform the action on the browser so we can see 

those actions on the browser sometimes we will capture some information from the browser also 

for example the title of the web page and whatever text is displayed on the application the text 

we want to capture so that also we can do some method from web driver get will also get the some 

information from the browser and that will provide to the again our client okay so that's how web 

driver works so that's the it is an application programming and interface there no need to be any 

database here APA means it works not only based on the database here there is no database concept 

guys I don't know why you asking database did I tell you anything about the database here nothing 

it is just Java client web driver method and then browser only three components but why I'm calling 

web driver an interface API because it is working as an interface between our client program which 

is Java program and browser so our Java program directly cannot interact with the browser so we 

need to call some web driver method and web driver method will actually do the actions on the browser 

that's how it will work okay so here there is no database nothing but actually in the real time APS 

if you're directly working with APS there should be some database there should be web server 

there should be client so here the apas will be there AP will get the data from the database 

and then it will provide the presentation layer but here instead of presentation layer we have a 

Java program instead of web server we have a web web driver instead of DB we have a browser okay 

actual actions will be happened on the browser in this also actual data will be presented in 

the database here actions will be performed on the browser okay this is a similarity this is 

a comparison so you don't need to have exact component here here database is there but here we 

don't have database instead we have a browser so action will be performed on the browser here the 

data will be processed on the database so like that we need to comp okay so the database is uh 

Java interface is what web driver is what it is an interface and it is also an API it is acting 

as an API application programming interface the web dver method in the sense what it is also 

programming code right web driver method is what programming code so it is assisting to the Java 

client which is an application or Java application which contains the programs it is acting as an 

interface between our Java client and the browser that is the reason we can also call Web driver 

is an API okay so these are the three definitions guys if anybody ask you in the interview you 

should able to explain this just not by giving a sentence you should more explain about this if 

it is a Java interface why it is a Java interface so earlier I told you initially they wanted to 

develop a framework a kind of an automation uh tool through which they want to automate the web 

application that is their in initial requirement but in the market there are n number of browsers 

are there so initially they have created a web driver interface and later on they have created 

so many number of classes okay so that's how web driver is got started not all methods are abstract 

some methods are public some methods are static some methods are abstract because interface allows 

the multiple type of methods different methods are there in web driver but especially abstract 

methods are implemented by using remote web driver and later on extended into multiple classes 

and web driver contains not only abstract method there are public methods also there there are 

static methods also there so we we will learn all those methods in the coming sessions so web 

driver in the sense what we are going to learn all the methods from the web driver and we are trying 

to use those methods to perform the actions on the web applications that is our ultimate goal 

automating the web application is nothing but what what actions we do on the web application for 

testing same actions we will perform through web driver methods and who will call those web driver 

methods through Java program we have to call those web driver methods today itself I will show you 

one example how exactly automation uh script will work and how exactly it will perform the actions 

on the browser okay so all three definitions are clear everyone so please confirm in the chat box 

web driver is one of the component in selenium web driver is a Java interface web driver 

is an API these are the three definitions of webdrive all right now let us see how we 

can set up the environment so remember this hierarchy because in the coming sessions also 

I will give more clarity on this but initially just understand this web driver is an interface 

which is implemented by remote web driver class again this remote web driver class extended into 

Chrome driver Firefox driver and Edge driver and so on so if you want to run your automation on the 

Chrome browser then we have to use Chrome driver class okay we have to create an object for Chrome 

driver class through that object we have to call Web driver methods similarly if you are automating 

the test or if you're executing the test on Firefox browser then we have to create an object 

for Firefox driver and through the object we have to call Web driver methods similarly whichever 

browser you want to execute your automation test cases for that particular class we have to refer 

we need to create object for that particular class and through that object we have to call 

the methods and methods will not be different okay whatever methods are then the Chrome driver 

class same methods are implemented in Firefox driver class same methods are implemented in 

Edge driver class but methods implementation little bit different because all browsers are not 

exactly the same browser level the architecture level will be different so whatever method is got 

implemented for example uh there is a get method let us say there is a get method is there in web 

drive and this method is implemented in Chrome driver class in Firefox driver class CL in driver 

class but internal implementation will be little bit different from one class to another class but 

same methods are there so if you remember methods from one class you can use those methods for 

all other classes all other classes also having the same methods right so just remember this now 

come to the environment setup how to set up the environment environment setup web driver envir 

environment setup so we can do two different ways of setup two different approaches are there 

and uh first approach is we can directly download web driver component web driver in the sense what 

which contains a n number of classes and all those classes are they have bundled with the jar files 

so normally if you want to share multiple files to somebody someone else how we will share let's say 

have thousand files or 100 files are there how we will share those fil to somebody else you don't 

send the files individually right you will jip the files you will compress them and you will jip 

it and then you will send one single jip file and other guy they will extract the jip file and they 

will get all the files right similarly selenium guys they have created so many interfaces so many 

classes and those classes are having n number of methods and they will they are available as a 

open source okay now we need to get all those classes all those methods then we have to attach 

them in the Java project and then we can use them but how they will provide in which format they 

will provide all the classes methods in the sense jar file format so normally we we have a doip 

file right similarly if you want to compress all the Java classes methods interfaces into 

single file that is called as a jar file Do jar is an extension jar is Java archiving file Java 

archiving file so jar contains a bulk of classes and interfaces and everything okay so instead of 

providing multiple files they have just created multiple jar files and they are available in their 

official websites inin a website we have to get those jar files we have to download the jar files 

and uh whatever Java project which we created in the eclipse normal Java project so Java project 

we'll create in workspace right so in the Java project itself we need to attach these jar files 

all the jar files we need to attach into the Java project I'll show you how we can do this so this 

is all manual process so we need to download the jar files from official website that is manually 

we have to do and once you download the jar files we need to attach them to the Java project that 

is also manual process again suppose tomorrow the latest version of [ __ ] comes into market then 

what you have to do you have to again remove the existing J files from your project Again download 

the latest version of Jar files again we have to attach them to your current project this is 

all manual process okay this is one approach so downloading jar files okay downloading jar files 

and attaching them to Java project this is one approach downloading jar files and attaching 

to to the attaching them to the Java project in eclipse or ID whatever this is one approach 

but this approach is totally manual completely manual we don't need to do any automate here this 

is completely manual and there is some problem with this approach okay so first let me show you 

this approach but not we are not going to prefer this approach normally the second approach is 

by creating Maven project we do it by creating instead of creating Java project we will create 

a maven project project Mayan is also a Java project but some additional advantages we will 

get from the May Mayan is a build tool I'll tell you what are those advantages and how to create 

a Mayan project okay these are the two approaches are there most of the times we use only Mayan 

project even in the real time projects also we will directly create a May one project we don't 

do anything manually but for your understanding just I will show you both the setups but normally 

we follow only the second one okay now we'll see the first approach how we can con figure or how 

we can set up the environment for selenium web driver so first of all I can create one workspace 

I'm going to C drive uh automation so in the my workspaces I'm going to create a new workspace 

so my workspace name is selenium web driver okay and just creating a folder so that all the files 

folders automation skript everything everything I will store here and this workspace we need to open 

in our Eclipse so let me open my Eclipse okay so I can just open my Eclipse so I already have my 

Eclipse so I'm just opening this just a okay so when you're launching the eclipse it is asking for 

the workspace so this is my Eclipse I'm opening so it is asking for the workspace first time right 

when it is asking or else once you open Eclipse also you can switch to the workspace no matter So 

currently it is point to the different workspace now I'm going to browse and whatever folder I 

created go to the C drive wherever you created so in automation my workspaces and selenium web 

driver I'm selecting this folder so from now onwards this is using the workspace and I'm using 

this workspace by default so I'm just checking the box and say launch okay suppose if you already 

open in your Eclipse okay once you open your Eclipse also you can switch to the workspace 

if you want so once it is done it opens the eclipse like this and you can close this welcome 

window now this is a new workspace so I haven't see anything here okay suppose you already there 

uh in your Java programming workspace so earlier you already created Java programming right the 

workspace if you still want to use workspace you can use it no problem in the same workspace you 

can create a new project okay so you can continue with the existing workspace whatever you created 

earlier whatever Java programs you have done earlier same Pro same workspace you can continue 

or else you can if you want you can create a new workspace okay so here I have created my new 

workspace so in this we have to normally create a Java project so let me create a new Java project 

so here I'm giving a name as web driver project this is my new Java project actually so by default 

web driver is also Java only so Java project and here we don't select any module so unselect this 

module and every concept this module concept is there in advanced Java like more than Java 15 

Java 2021 developers need this concept but we don't need so remove this module kind of thing 

and then click on finish so this will create a normal Java project right it's a normal Java 

project so you can just create normal packages Java programming everything you can practice 

it but in addition we have to attach web driver okay we need to download the web driver jar files 

and we have to attach them to the existing Java project that's how we need to do configuration 

manually so once you created your Java project this is your workspace okay now how to download 

selenium jar FES now we need to go to selenium official web page just select for selenium search 

for selenium and selenium dodev this is official web page just click on it and once you click on 

it here you can see three components web driver ID selum grid now we need to go to the download 

section here and you can see there are multiple languages currently supported so now we are 

going to use Java so the latest version is what 4.8.1 so this is the latest version as of 

now we are using it so I'm also mentioning the version number this is the current version so I'm 

going to click on this and it will automatically download all the jar files yeah so now I click 

on it now you can see it is downloading a gy file now once it is downloaded just go to this 

particular folder and wherever it is downloaded you can see here and once you downloaded you have 

to extract this Gip file so okay can say extract all so once you extracted uh you will see a 

new folder here which contains all the jar file okay so once you have seen it 

will show you where exactly you want to extract so click on extract so once 

it is done all the files jip files uh J file is extracted into multiple 

files so it will take few seconds of time so once it is done we can attach 

those jar files to your Java project in eclipse so let it download so what we have done in 

the first step downloading J fil attaching them into Java project 

so in this approach first we created new Java project or else you can 

use existing Java project okay earlier you already created Java project right 

in your Eclipse you have created all the Java programs so on the same project 

you can still continue okay you can just additionally add new jar files you can 

so created new Java project then what you have done downloaded selenium or we can 

say web driver jar files jars in the form of zip file and extracted okay so now once we 

extracted this file we need to attach them into the Java project that's it so it is think 

still it is extracting so let it complete the process and once it is completed the process we 

need to add all the jar files to your current project which you have created in your Eclipse 

so that is a process so let me maximize this for and this is just for your information 

I'm just showing you this approach but normally we don't follow this 

we always follow the Mayan Mayan concept for browser specific drivers are not no need to 

download because from selum 4 onwards even browser specific drivers also bundled with this 

jar files but earlier in the older versions of selenium each browser there specific drivers 

are there okay so we have to download them but now we don't need to download any specific 

drivers for the browser so selenium guys are already embedded those drivers into selenium 

job FES and from selum 4 onwards okay but if you are using previous versions older versions 

then uh you have to download browser specific drivers separately but now no now nowadays you 

don't need that one in the latest versions of s it is taking some time let me wait for a few 

seconds and once you downloaded the jar files next we need to attach jars to Java project so 

these are the three steps in the first approach everything is manually we have to do so the 

problem with this approach is suppose uh tomorrow if the new version comes now I want to incorporate 

that version so what you have to do is whatever jars you already attached to your current project 

you have to delete all of them manually again you have to download the latest jar files again you 

have to do add you need to add them to the project so this is a TDS process everything we have to 

do manually even downloading is also we are doing manually right so as of now I am downloading them 

so this process is also have done manually so this is a problem so instead of doing it we will do 

May one project normal so if you want to know which browser it is supporting you can just go 

to selenium official website so here they have provided Which languages are currently supporting 

and if you scroll down to this page here you will see what are the different browsers it will 

support you can just click on here so these are the current browsers s is supporting it is 

not id id is a totally different tool should not compare okay Mayan is Mayan is not an ID Mayan 

is a build tool okay we'll see that in the coming sessions but today I will give you some basic 

introduction about Mayan but you will see the M exact usage of May in the CSD Concepts but today 

I will just give you some basic introduction what what is the additional benefit you will get when 

you create a mavan project okay so these are the browsers [ __ ] supported so all the information 

is available in their official website you don't need to worry Firefox Internet Explorer is 

supported till 10 because this is already deicated by Microsoft so currently there are no 

one is using Internet Explorer so we can simply ignore this instead they have introduced the some 

other browser called Edge so Microsoft this is also from Microsoft so instead of using Internet 

Explorer we can prefer to use always edge browser so Firefox Safari Opera Chrome and Edge so these 

are the browsers currently celum is supported and operating systems also currently these are the 

three operating system Windows Mac Linux supported and programming languages again here mentioned 

here these are the five programming languages are supported Shar Ruby python JavaScript and 

Java okay all the information is available in website itself and if people are using selenium 

with python and then they have to download this one Python and if you're using selenium with shot 

they will download this one so we are currently using S with Java so we are going to download this 

one okay this is the difference right so let it complete it is taking more time so meanwhile if you want you guys can 

try but I don't prefer this approach otherwise if you are having confusion 

just let it be leave it no problem I'm just for your understanding 

standing I'm showing you this approach yeah so now it is extracted so downloaded 

and also extracted so downloading is not taking much time but extraction is taking some time so 

once extracted you will see a new folder called 4181 you can see this is the actual celum JV files 

okay so now what we have to do is we have to keep the folder here or else you can keep it somewhere 

else so what I can do is I can just copy this from here and uh I will put somewhere in the C drive in 

automation somewhere so here I will keep it so you can keep anywhere okay so I'm just keeping it here 

C drive in automation I have this [ __ ] Java so now this is a step one so we have created a new 

Java project we have downloaded web driver jars in the form of Gip and then we have extracted so 

once extracted we need to attach those extracted files to your current Java project whichever you 

created in your Eclipse now go to eclipse and this is the project which is got created so how we 

can attach those jar file you can simply do like this you can say right click on the project go to 

properties and in the properties we have something called Java build path go to Java build path in 

the Java build path you can see multiple sections need to go to library section becauseum jar files 

are libraries so go to library section in this by default you can see some JRE is already configured 

under module path we need to go to class path okay we need to go to the class path in the class path 

you need to click on ADD external jars there are two options are there add jars add external jars 

so selin web drivers are basically external jars which you have downloaded so we need to click 

on this add external jars and now wherever you have these jar files wherever you kept those 

jar files you need to go to that location so this is a folder which contains the jar files so 

you need to select all the jar file you can just press shift and down arrow key it will select all 

the jar files and then open okay now you can see all the jar fils are attached under Class B and 

one more time select the class path and click on ADD external jars and we have left this lip folder 

earlier so we need to go to inside the lib also and select all the jars from the lib folder then 

open it okay so we have to attach each and every jar file from the folder which we have extracted 

we should not miss even a single jar file so once it is attached then apply and close that's it 

so once you have done it you can see referenced libraries you can see one more section under 

the reference libraries you can see all the jar files which are attached to your project so from 

now onwards this project becomes a web driver so not only Java programs we can additionally create 

automation scripts in this particular project okay so this is a manual configuration as a beginner 

you can try this but actually we don't follow this the problem with this approach is suppose 

you already configured this project with this particular version like 4.8.1 so suppose tomorrow 

let's say 4.8.2 comes in the market or 5.0 come to the market you want to upgrade with the latest 

version then what you have to do now you have to again go to this reference libraries go to 

properties libraries Java build path libraries you need to select all of them like this whatever 

jars earlier you have added you need to select all of them and then you have to remove them first and 

once it is removed then you can Again download the latest jar files you have to extract them and then 

again you need to attach to your current project so this is a again manual process which you have 

to do this is the problem with this approach okay that's the reason we don't follow this approach 

okay now we'll go to the second approach and if you want to try you can try just one try otherwise 

you can leave it ignore it no problem okay I'm just for your understanding I've shown you this 

approach but this is not recommended this is not recommended okay now let us see how we can do the 

second approach and how we can overcome the manual stuff everything we can do automatically so may 

one project itself it automatically download all the Jarone from the website it will automatically 

attach to the project even tomorrow there any new version CES that will also automatically do 

through MAV project everything is automated now we'll see how we can do through MAV project 

so Mayan is basically a build tool normally devop steam will use about may1 in CIAA configuration 

C continuous integration configurations but mavan is also having more number of advantages as 

an automation tester we can also use MAV to get those advantages or to get those benefits so 

how we can create a Mayan project so Mayan is a small tool a build tool or we can say an extension 

or a plug-in and whenever you install Eclipse by default you will get a May one so you no need 

to install may1 separately by default Eclipse will come with the May one even if you're using 

inell also by default you will get a Mayan in that particular IDs so and again Mayan is also related 

to Java only on top of java may1 components are added so may1 also inter internally it is a Java 

only but additional benefits you will get from the may now let's see how to create a Mayan 

project so I have created web driver project right so I'm just doing deleting this project 

as for now delete this I don't need this and when you're deleting it you have to select this 

option if you're not selecting this option this project will be deleted only from Eclipse but 

still there in the workspace so if you want to delete this from workspace also then you have to 

select this option delete project contents on disk cannot be undergone so just delete everything so 

everything is got deleted okay now as of now I'm there in the same workspace now I want to create 

a Mayan project the second approach so creating a Mayan project how to create a May one project very 

simple instead of creating a Java project there is an option called create a May one project you can 

see the second link is there you can also create from the file menu go to the file new instead of 

java project you have to take a mavan project so take this Mayan project and uh here it will show 

you multiple options so create a simple project so select the first checkbox otherwise it will 

give you some default templates of the project we don't need any default templates we have to create 

our own template so create a simple project skip architect types architect archetype is nothing but 

a templat so we are going to skip that section we don't need so select the first checkbox second 

Che checkbox let it be there so may project will be created in our current workspace simply click 

on the next button and here we have to provide few informations so group ID we have to provide 

so basically group ID is related to project name so here I'm creating a project name I say selenium 

web driver and same group ID you have to give uh in the artifact ID so group ID artifact ID same 

thing whatever you have given here same thing you put in the artifact ID and rest of the things are 

optional you can just leave for now just provide only group ID artifact ID so that with these names 

the new May project will be created so once you provided just click on the finish right so once 

you click on the finish it is got created a new project which is actually may project May in the 

sense again it is underlaying we it is having Java only okay so even in the mavan project also we can 

create a Java programs we can execute everything we can do whatever we have done earlier so this is 

how we can create a mavan project okay so once you created your Mayan project you will by default 

you will get some packages along with some pal red XML so we need to understand few of them here 

so once you created your M project by default Java is associated with this see here Java is already 

associated with this project along with this Java it is also given some default packages SRC main 

Java SRC main resources SRC test Java SRC tester resources so these are the four default packages 

which is provided so normally SRC main Java SRC main resources used by developers SSC test Java 

s test resources are used by the testers or used for testing purpose and first two packages used 

for development purpose all the development code will be part of SRC main Java and when I do some 

development if we need any third party files or resources we will keep inside SRC main resources 

similarly whenever you want to create automation test cases that will be part of ss test Java and 

when you're creating automation test cases if you need any third party files like Excel sheets 

or notepad files or any property files we will keep them inside the SRC test resources so for 

automation purpose we need these two packages and first two packages we don't need so we can 

simply select them and then delete them so right click and then delete even if you keep them no 

problem but anyway we are not going to use them okay these are the only two packages which we are 

going to use again resources folder I will later use it but for now let us focus on SRC test 

Java this is the main root package for Maya and inside this only we will create another sub 

packages and we will create all the test script and everything now these are all default files and 

p. XML this is the main file for one project so as I said everything will do automatically right so 

that thing will happen through p. XML so Mayan project is always have p. XML file by default 

only through pom.xml we can achieve everything in May one so downloading the jar files attaching 

them to your current project and tomor if you want to remove the existing jar file we can remove them 

all these things are happen through form. XML file okay so now we'll see this is just created your 

only May project still we have not configured with web driver it is just a Mayan project so now 

we need to configure web driver so to configure web driver what we can do is earlier we have 

downloaded all the jar files manually right so now we don't need to download anything manually 

so what we can do is in p. XML if I open the p. X ml in the pal. XML if you look at this 

a small piece of XML code you can see so this is a basic default code which you can see 

here this is formed XML XML code and there are some tags are there you can see project and 

closing tag model version group ID artifact ID version there's some default information 

is there let it be there so now we need to add here something what we need to add 

in the p. XML we have something called dependencies dependencies remember this 

terminology in the p. XML we have something called dependencies okay what is dependency 

means so as of now in this mavan project what extra we need is CIA web driver job first 

so that is a dependency suppose tomorrow if you want to work with Excel sheets I need 

to download third party dependency Apache POI suppose tomorrow if you want to use with 

test NG then you have to get test dependency so dependency means something which we need in 

our existing project that's called dependency so as of now we need web driver jar files s web 

driver we need for this project so that is a dependency so that dependency we need to add in 

form. Excel so how we can get the dependency so all the dependencies are available in mvn 

repository website you need to go to m mvn repository search for this one mvn repository 

and you will go to this particular website this is the official website from this we will get 

all the dependencies required for form. XML okay this is called Mayan Global repository okay 

in the coming sessions I will elaborate this but as of now just remember few things so whatever 

dependencies we required for our projects all the dependencies are available in mvn repository. 

comom this is official website of Mayan and they will maintain all the dependencies in their 

repositories in the remote depositories so in this we can search for our dependency which dependency 

we need selenium Java dependency just search for selenium and Java and click on the search button 

now we can see you can see different dependencies are disted out here so this is a dependency 

which we need selenium Java just click on it now we can see all the versions are available so 

as of now what is the latest version of ium this is the one February 20th it is got released 

4.8.1 so whichever version of dependency we required we need to get it so click on this 

latest version now you can see this is small piece of XML this is called as a dependency this 

small piece of code is called as a dependency now copy this dependency and paste that inside the p.x 

that's it very simple just get the dependency from there and add the dependency in the PEX but before 

specifying this you need to add one additional tag called dependencies opening tag and closing tag 

and inside this opening and closing tag you need to keep all the dependencies like this in future 

we will download so many dependencies we will add so many dependencies but as of now we require only 

one dependency that is selenium Java depend depy that we have added here okay now you see the magic 

here as soon as you added this dependency once you save your pom.xml what will happen is this pom.xml 

dependency will download all the jar files and attach them to your current project automatically 

happen that's a magic we don't need to do anything just we have added one dependency and whichever 

version We specified here corresponding version J files will be downloaded and attached them to 

your current project just observe I'm saving this ped XML or update it once okay can simply right 

click go to may just update project whenever you do some change in the pom.xml try to update your 

project how to update right click on the project go to May one and then update project so once it 

is done and also at the time of updating select this option for update of snapshot or releases 

sometimes it will not properly download okay in that case you will face an problem then you 

select this option force update then click on okay so when you do this what will happen is it 

will start downloading all the jar files selenium web driver jar files and also attach them to your 

project now just observe you can see there is a new thing something is ADD Mayan dependencies 

if you expand this see these are all selenium jar files can see selenium dev2 Firefox htpi Json 

you can see these are all selenium jar files okay so this is a how we can automatically create M 

project and automatically download all the J so this dependency will take care of everything 

so once it is done we are ready to go so this is our project so may project configured with a 

selenium web driver so through pomed XML we can control everything from the project and if you 

remove this pomed XML the Mayan project will not work so the entire Mayan project will work based 

on the pomed XML so what we have done is we have just created a new mavan project so what are 

the steps created new mavon project in eclipse sorry created a new A1 project in eclipse 

and then what we have done we have added web driver dependency in pom.xml and then 

updated that's it so now all the jar files are automatically downloaded and our project is good 

to go okay yes in the dependencies everything whatever we required for the mavan dependency 

everything is got added everything is part of the jar files okay so now we are ready to go so 

this is the project which we are going to use for our automation okay you also everyone should 

also follow MAV project second approach don't go with the first approach okay and suppose tomorrow 

some new version came into market then how we can do it how we can up upgrade your project very 

easy just go to pom.xml and change the version that's it so tomorrow let's say 4.9 came at 4.20 

came so just change the version number then again one more time update the project go to May one and 

just update the project so then what will happen the old jars will automatically removed by m 

whatever the dependencies we already added it will automatically removed by Mayan and whichever the 

newer version We specify here it will get download all the latest jar files and automatically 

attach it with the project so this is how we can use mavan project okay so you can you can see MAV 

project option you can see if you going to file go to the new here you can see MAV project if you're 

not visible here you can go to other sometimes it is not visible here so then what you can do is go 

to other click on other and here in this list you can see May one project you can see May one option 

here and expand this may one option select the May one project and then click on the next and proceed 

for that okay sometimes if you're not able to see the beginning you can do like this you can go to 

others and then you can find the Mayan I'm going to show you multiple times go to Mayan and then go 

to other and uh go to mavan and then select mavan project and next to proceed further and if you 

face any issues I will check later but this is the process of creating a Mayan project update b. 

XML and get all the jar FS so everybody is clear so far these are the two approaches which you 

have and the second approach is always recommended second approach is always recom can can everybody 

can do it yourself just creating a MAV project update p. XML with the dependency that's it 

nothing else okay so anyway I will share this p. XML you guys just copy the dependency or else you 

can go to this link from this link you can get the dependency okay web driver so web driver dependency link so you can open this link and copy the 

dependency and attach them into the bombex okay so everybody is clear please confirm in the 

chat box everyone the process you know right you can just try later the process how to create 

a May one project how to update pom.xml forget about the first one the first one everything we 

have to do manually again that is a TD process so if you just create a m project just add one 

dependency in pet XML that's it it is ready to go okay now so we are created MAV project so now 

we'll see how we can create a simple automation scripts very basic automation script I will show 

you how to create and how to execute how exactly we can ACH automation through web driver so 

today is day 21 I guess so what what I can do is I will create a new package for today SS 

test Java inside this I'm going to create a new package just like every day we are creating new 

project and we are doing multiple program same way create a new package so inside this I'm going 

to create my new package called day 21 click on finish so now I created a new package under SRC 

test Java inside this I'm going to create a new class just like a normal Java program create a 

new class and I'll name it as it's my first uh test or first test case and I'm taking main 

method also just like a normal Java program click on the finish right so this is normal Java 

program which have created all right so you can also write normal Java programs no problem 

because basically it is Java only right so underlaying underlayer is Java only Mayan Java 

web everything is in Java only so we can still normally create a normal Java program we can 

execute see I'm just creating a simple program here system pint just testing so normal Java 

program can just run as Java application it will execute okay simply Java is executed so you can 

simply write a Java program like this you can also create Java progress no problem yeah now 

we are going to write an automation script in this so before writing any automation script 

we have to know the test case so what are the steps we have to automate manual steps so if you 

know the manual step exactly we can convert into automation format okay so here I'm taking one test 

case so let me take one test case here so this is my test case the first step I want to launch 

my Chrome browser then I want to open this URL this is the application URL I want to open on the 

Chrome browser okay now I want to check I want to check the title of the page is this one or not 

title of the page and after verifying the title I will close my browser these are the four steps 

just four steps I'll open the Chrome browser and open this URL then check the title of the pages 

your store or not and then close the browser so every test case should have some validation point 

so what is a validation point in this test case third step third step is a validation Point okay 

now let us see how we can automate this test case very basic very simple test case and we will see 

how we can use web driver methods what are the methods are there how can we access okay we'll see 

automation now step number one is what launching the browser step number one launching the browser 

so how to launch the browser so whatever step you want to automate everything we have to use web 

driver methods in the beginning I told you right web driver is an interface which is implemented 

by many classes so if you want to access those methods what we have to do now first we have 

to create an object for the particular class and which browser we are going to use it here is 

Chrome browser so we have to first create a chrome driver class object that's a step number one oh 

only through that object we can access required methods so which class we have to use Chrome 

driver class Chrome driver and Driver equal to new Chrome driver this is the first step okay so 

we need to import because these are all external classes we have to import required packages so 

place the cursor it will show you import package and if you're not getting these import packages 

properly what are that mean you have not added the dependency properly and if you're not having 

jar files then you will not see these suggested options so I'm importing Chrome driver class from 

this particular package org. open. selenium do chrome. Chrome driver okay now this is how we need 

to First create an object why we created an object for Chrome driver class because we want to launch 

the browser which is Chrome browser okay so as soon as you created an object what will happen is 

this chrome driver class is having one Constructor default Constructor and that Constructor will 

automatically launch your Chrome so how they have implemented the back end stuff we don't 

need okay we don't need to know how exactly they have implemented the backand side we need to 

know how to use those methods for our automation purpose okay okay so whenever you create a chrome 

driver class object internally the Chrome driver Constructor will automatically invoke and that 

Constructor will launch Chrome browser remember this okay let me run this code just one single 

step I created execute and see what will happen run as Java application just like a normal Java 

program just observe here as soon as I executed now you can see it is launched my Chrome browser 

it is automatically launched my Chrome browser and it is also saying Chrome is being controlled 

by automated test software through automation we have launched this particular browser with single 

step just by creating Chrome driver class object it is launched by Chrome driver Chrome browser and 

who is done this this is done by Constructor which is there in the Chrome driver class and still 

we have not open any URL here just we launched only browser okay close this for now so step 

number one launch browser it is done just by creating an object of CHR driver this is done 

now same step can we write like this I can say web driver driver equal to new Chrome driver can 

we write like this yes why because web driver is what parent only right CHR driver is D from 

remote web driver class that is also derived from web driver so obviously it is a parent 

so this web driver driver equal to new Chrome driver also we can specify but this web driver 

we have to import okay this web driver we have to import so it is not showing package properly 

so we can just import you need to write manually import dot web driver so do we need to do tab 

casting here is it really required so this is upcasting yes you are right so this is the child 

we are we are trying to store in the parent class variable right so here this is upcasting so we 

don't need to specify anything here so it can go with this approach or you can go with the this 

sub both are correct all right so now step one step number one is done so so this step is also 

correct let's try to execute one more time run as Java application so this will automatically 

launch our Chrome browser now you can see the browser is successfully launched so either you can 

go with this one or you can go with this approach but this is a second approach most of the times 

we prefer okay why because tomorrow if I create another browser object I still that I can store 

in the driver right if you create a web driver driver variable I can store Chrome driver object 

I can store Edge driver object I can Store Firefox driver object any type of object I can store in 

this right but if you create this approach I can store only Chrome driver object in this variable 

I cannot store anything else right so that's the reason most of the times we prefer this particular 

approach web driver driver equal to new chrone dri this driver is a just a reference variable 

you can put any name anything is all right step number one is done now come to the second step 

number two open URL as soon as the step is open the browser we have to open this URL on that 

particular browser how to open this so Second Step very important listen this care very easy 

if you know Java automation is very very easy just only thing is you need to know some methods 

yeah so how to open the URL on the browser very simple we already created driver right so so just 

using the object we have to call one method called these are all web driver methods you can see 

what are all methods are available here these are all web driver related methods so by using 

these methods we can perform various types of operations or actions on the web page now here 

we have a method called get get is a method so this get method will take a parameter string type 

of parameter which is basically called URL of the application that you have to pass so this is 

the URL I'm passing as a parameter in the form of string okay so from the driver object I'm 

calling get method what this get method will these are all predefined methods and predefined 

classes so we don't need to know what exactly they have written because they have already done 

and provide us so we need to know how to use it in our automation so what is this get method will 

do is the get method will take URL as a parameter and open this URL on the browser which is is 

already launched by this first statement okay in the first step we already launched our browser 

in the same browser the get method will open this URL very simple let me execute and show it just 

run as Java application okay now it is launched my browser see it is launched my browser and also 

open this URL so now we got an application okay now step two is also also done now step three is 

what we need to validate the title should be your store how we can validate the title just observe 

where we can find the title on the application for example let's take this application and this 

is the application right in this if you see uh view pay Source right click on view pay Source 

at the beginning you can see the title so you can see here the title this is called title here it 

will show you okay or you can just inspect this and you can just go to the header part in the 

title you can see your store this is a title actually in the view pay source is somehow it 

is not displaying but here it is displaying your store is actual title so we need to validate 

the title of this page we have to every page is having a unique title if the pages got changed 

for example I'm clicking on MacBook now I go to MacBook page so now the title of this page will 

be different and once you go to ad cart and AD cart page is different okay and the title of the 

ad cart page is different so each and every page is having different titles now as per my test case 

I want to validate that homepage title is what my store so how to validate so that's the third step 

third step is what validation Point third step so before valid Ting the title is your store or not 

we need to capture the title from the application actual title is what and the application actual 

title is what that we need to capture compare with expected title this is our expected title what we 

are expecting but actual title sometimes will be different if you find any mismatch between actual 

title and expected title then your test is failed so how to capture the title of the web page so to 

capture the actual title of the web page again we have one more method called driver. get title 

this is the method so we don't need to pass any parameter so this method will automatically 

capture the title of the web page that I'm going to store in a string variable this is our actual 

title from the web page actual title from the web page so get title is a method which we can access 

through driver instance so this method will return the title of the actual web page and we already 

have our own title right expected title is what your store that we need to compare by using IF 

condition if yeah now tell me how to compare the strings how to compare the strings so this 

is the actual title this is your expected title now both we need to compare so actual title dot 

equals actual title is a string right equals what is our expected title this is our expected title 

that you can specify in the double quotes specify this in the double quotes we have to specify 

this okay and actual title dot equals this one and what this will return if both are equal 

both are equal returns true if both are not equal returns false if both are equals returns true 

then condition become false condition becomes true if both are not equal the condition become 

false so assume if both are equal true then what we should say test case passed or test passed 

if both are not equal then what we should say test failed system do p tell simply say yes 

failed that's it so third step is also done so what we have done we captured the title of 

the page and stored in a variable and then we compare with our expected value and both are 

same actual and expected are same test pass if actual and expected is not same then test 

will fail so third step is also done now what is the last step closing the browser so as 

soon as our test case is got executed we can close the browser right no need of browser 

so how to close it we have two approaches everything step by step so what you 

can do is um as soon as okay so here before closing I will or else I can just 

comment the statement so that you can see this so I'm not closing the browser so it 

is launching my browser now open the URL and validate the title also you can see test passed 

test pass and you can close this manually now instead of closing manually I'm using this option 

driver. close so when you execute this it will automatically launch everything and execution 

will happen and test is passed very it will go very very faster because it's small test case 

right but if you have any number of steps you need to navigate between multiple Pages then 

it will take time so that we can see each and every action on the browser but it's very fast 

so this is how we can simply automate the test case very very simp simple only thing is you 

have to know what are all methods we have to use in which place we have to use if you know this 

you can easily write automation test cases it's very very basic and very simple test case okay 

so we launch the browser by creating an object and open the URL by using get method and capture 

the title of the Page by using get title method and then compare with the actual title both are 

equal test part both are not equal test that's okay and finally we are closing the browser so 

this is how we can simply automate the test case and most important thing is how to interact 

with the different type of elements so in the web page not only title right there are n number 

of things we need to verify suppose if you take any page like this there are n number of things 

are there in the web page we have input boxes okay and we have links we have images we have 

checkboxes many things are there so how we can automate all those elements how we can interact 

with those elements for every type of element every type of action there are different type 

of methods are available you want to click on a button there is a method available if you want 

to provide the text in the input box suppose here the search box is there I want to enter something 

like this so there is a method called send Keys is available and if you want to click on the search 

button The Click method is available okay so for every type of element so whatever you can see on 

the web page we call it as a element web element so image is a web one web element okay and links 

are web elements buttons are web elements input input boxes are web elements and sometimes you 

can see drop down boxes they are web elements radio buttons are web elements so these are all 

different type of web elements so how to interact with those web elements so there are different 

methods are there in selenium web driver by using those methods we can interact with them 

we can perform actions on the web elements but before that we have to identify those elements how 

our Java code how our Java program will exactly identify the element because there are n number of 

elements are there I want to exactly provide the text in the input box and how our automation code 

or automation script will identify these element because there are n number of elements out there 

okay for example let's say there are same kind of elements we can see sometimes we can see same 

kind of elements on the web page look at this web page here you can see two input boxes now I 

want to pass input uh text only in the username input box how exactly our automation will identify 

and we need to exactly pass password value so if you have multiple input boxes how we can exactly 

locate that element so these are all possible by using locators concept so how many ways we can 

locate the element how many ways we can identify the element that is all one part and once you 

identify the element then what kind of action we have to perform on it that is another part so 

entire automation you are going to focus only on two things one is identifying the element or 

locating the element once you locate element what kind of action to be performed if it is a 

button we have to per from click action if it is input box we have to pass a text that is a 

one type of option if it is a link we have to click on if it is a drop down we have to select 

one option from the drop like that every element every web element is having different type of 

actions to be performed for them we have action methods are available similarly every element we 

can locate different type of elements different type of locators also there like by using ID we 

can locate by using name we can for every web element having number of attributes basically 

we can call attribute like every person having different type of attribute like name height 

color and everything right similarly every web element in the web page is having certain number 

of attributes and those attributes we can use to locate the elements okay this is all part of 

automation so from the next class we will continue so first thing we will see how we can locate the 

elements that's the first part once you're able to locate the element then what kind of actions we 

can perform for that's the second part so these two parts we will learn in the next sessions it is 

very huge concept takes around 10 to 15 sessions because we are going to deal with a different 

type of element different type of actions we will perform and different type of death cases we are 

going to automate so slowly you will learn step by step step by step and uh then slowly after few 

days after five after 10 sessions or 15 sessions I will try to incorporate testng features also 

so that we can generate the reports we can do parallel testing parameterization there n number 

of topics are there so we'll discuss all of them in the coming sessions but today what you have 

to do is try to set up the environment create a new project Mayan project and whatever Eclipse 

you're using currently just uh follow with that and whatever Java project you already created 

so far right if you want you can make the same project project or else try to create a maven 

project new project on the same workspace you can create a new Maven project update p. XML and 

try to create a small test case like this okay also I will give you one more test case for 

assignment you guys can try this and this is for assignment same steps but just application 

is got changed open the browser Chrome browser and open the URL and verify the title should be 

this or not okay for example let's say same test case I want to run my edge browser then how 

we can do it edge browser so this particular statement will launch Chrome browser right 

this is for Chrome browser suppose same test case I want to run my edge browser so simply 

what you can do is you have to create object for edge browser that's it web driver driver 

equal to new edge browser that's it so Edge driver right so now we need to import this Edge 

driver class that's it there's only one statement you have to change and rest of them again same 

because all methods are same browser to browser there is no much change okay all methods are same 

only the object will change so if I execute now this will execute on edge browser can just 

let me show you run as Java application so this time it will execute on edge browser now we 

can see it is already launched okay let me launch one more time okay I'll comment this statement 

for now so that you can see the edge browser is launching you can see this is my edge browser see 

Microsoft Edge is being controlled by automated test software so this is edge browser and my 

test is got executed so here you can see test is got passed so after execution if you want to 

close it you can use close or quit anything is fine and sometimes it will throw some socket 

exception you can just ignore that exception for now I'm just driver. close I have executed 

see my test got executed and also passed but after that when I closing the browser I'm 

getting some exception warning it is not an error okay it is just a warning thrown by web 

driver so we can just ignore this for now and also we can use pit command in of driver. Cl 

we can also use Twitter I can say run as Java application so this will also do the same thing 

so edge browser opened executed launch everything is done browser is also got closed right so this 

is how we can execute on the edge browser so but before the prerequisite is what you need to 

have these browsers on your system you need to install them I think or is having Windows 

they have the edge browser Chrome browser also should be installed manually okay then only these 

things will work and if you're not having Chrome browser and edge browser and if you're trying to 

launch them through automation it won't work okay and that is one thing you need to check second 

thing if you already have a browser try to have a latest version okay so how we can update your 

browser suppose if you open my Chrome browser go here there is settings options there or can 

just go to help go to about Google Chrome okay go to this option and here it will show you 

Chrome is updated or not okay try to upgrade with the latest version so Chrome is up to date 

so this message should display and these are the prerequisite if you have a Firefox it is also 

safe because I'm not using Firefox but that's not recommended because it's very very slow 

Firefox execution is always very slow so most of our automation sessions I will try to use 

edge browser and Chrome browser if you want to use Firefox you have to install Firefox browser 

then you can create like this here you can change like this web driver driver equal to new Firefox 

driver new Firefox driver so this is the class which is implemented Firefox so that also you 

need to import so now when I execute this test case it will execute on the Firefox browser 

but currently I don't have a Firefox browser so this will an error and executing this Java 

run application see I don't have installation of Firefox on my system so it cannot execute first 

of all it will try to launch but it could not find anywhere in the Firefox so definitely it will 

give you some error so that is a prerequisite whichever browser you want to launch oh I have 

I think I already have Firefox just a moment okay okay so I already have Firefox let me run 

it run as Java but it is very very slow guys I don't recommend the Firefox browser 

see here this is my Firefox browser so launching my application everything is 

done on my Firefox so my test is also got passed okay so whichever browser you want to 

execute you can just configure that browser just change this object that's it so if you if you 

want executing Chrome browser use Chrome driver class object if you want to run an edge browser 

then you use Edge driver and if you want to run on Firefox use Firefox driver object okay so use 

only one of them at a time you cannot use all of them one time only one driver object will focus 

only one browser at a time so use this option okay no no no if your browser is not installed 

on your system this won't work okay that is a prerequisite I'm saying if you want to work 

with the Chrome browser in automation you should install Chrome browser on your system 

Chrome browser should be there similarly Edge driver should edge browser should be there and 

Firefox browser should be there if you have these browsers installed on your system then only your 

automation will run otherwise it will not page inspection locating the elements everything I 

will discuss in the next class okay that's the reason I'm stopping here for today I'm not going 

into the next stuff so tomorrow session I will discuss about the how many ways we can locate the 

element how to interact with the elements before clicking on okay button first we need to locate 

that element we need to identify this okay before passing the text in input box we have to identify 

the input box so before performing any action on the element identification is most important so 

that part we will discuss in the next two three sessions it will take approximately two to three 

sessions it will take for locating elements so once you know how to locate the elements then 

easily we can perform the actions but locating the web elements is a very big challenge in 

automation because there are n number of ways out there so yes Chrome ium driver is newly new 

class which is introduced in selenium 3.x so in the previously I told you one hierarchy right so 

the web driver interface is imple implemented by remote web driver class this web driver remote 

class is again extended into multiple classes right this is actually selum 3 this is how but in 

selenium 4 they have introduced one more new class between remote web driver and chrome driver that 

is called chromium driver so let me show you how exactly this is the structure initially web 

driver is a an interface and this is implemented by remote web driver class and this is again 

implemented by mult extend from multiple classes one class is called chromium driver another one 

is what Firefox Opera and so on and this again chromium driver is having two sub classes one 

is Chrome driver class Edge driver class okay Edge driver Chrome driver are using same kind of a 

driver that's the reason they put these two under chromium driver actually I have not discussed 

this but actually remote driver is again extended into chromium driver class Firefox driver class 

Opera class and many more classes are there and this chromium driver class again extended into 

Chrome driver and Edge driver so we these are the drivers we are currently using these are 

the two classes we are using so if you want to create an object for Chrome driver that I can 

store in the chromium driver variable or remote driver variable or web driver variable because 

these are all parent classes similarly when you create an object for EDG driver that I can store 

in the chromium driver aable or remote web driver variable or web driver variable because all three 

are the parent classes of H so this is the actual hierarchy okay but again this web driver is 

also not a root interface this is also extend from one more interface called search context 

this is actually root interface in selenium web driver but most of the people don't 

know this most of the people people will say web driver is a root interface from there 

everything is derived but web driver is also extended interface from search context interface 

search context is also one interface extend into web driver interface here this is extends 

and everything is extends extension of the classes okay clear everyone so far so this is 

the basic introduction session for web driver so as part of today's session just try to set up 

the environment and get ready with them and also try to do this assignment first practice 

my class example then try to do my class assignment same steps only the application has 

got changed and then tomorrow we will continue rest of the topics right so that's all for today 

I'll stop here and uh we will continue tomorrow

Need a transcript for another video?

Get free YouTube transcripts with timestamps, translation, and download options.

Transcript content is sourced from YouTube's auto-generated captions or AI transcription. All video content belongs to the original creators. Terms of Service · DMCA Contact

Session 21 - Selenium with Java | Introduction & Environm...