all right so hi everyone welcome you all so in the today's session mainly we will start with the introduction part like what is manual testing and what is an automation testing and we'll see some basic things and then uh we'll discuss something about uh selenium and after the session uh if you have any queries or you can unmute and you can ask and meanwhile if you have any questions you can put everything in the chat box immediately I'll try to answer them and uh at the end of the session uh I will show you what are the things we are going to learn as part of this course and what are the things you are going to get and how this training will help you or all those uh General things we will talk and before that let us start so the inaction part and uh people came from different type of background so some of have already experienced in manual testing and Automation and some of them are completely new to this training and new to software testing so you guys don't need to worry so I'll start from very basic basic and uh even though if you don't know manual testing still you can understand the concepts and if you want to learn manual testing I can share some of the videos and you can just go through them and can watch them you can understand manual testing Concepts later okay parall you can learn them no problem so let us start today's session and if you have any queries uh you can post in your chat box and at the end of the session I can unmute and you guys can ask your questions and all all audios and uh videos everything is muted so just to avoid the disturbances at the end of the session I will everything is unmuted okay guys now let us start with introduction part so before going to automation testing so what is software testing so people we already know something about software testing we already have some experience you guys can tell what is software testing means so software testing is what is a process of finding the bugs or finding the diff effects in a software so what is the main goal of software testing main goal of software testing is to find or identify the bugs and also we need to release the quality product to the customer so that's the main intention of Performing the software testing right so software testing is a process of finding defects in a software and the main goal of software testing is we have to release a quality product to the customer or client that's the main objective or goal of the software testing right but why in which way we can test the software different ways are there so we can do manual testing or we can do automation testing right so what is difference so what is manual testing and what is an automation testing so manual testing means we don't use any tools we can simply test the software manually so we don't use any tools right so simply we can call it as a manual testing and uh if I use any automation tools so so through automation tools by using automation tools if we perform any testing we can call it as a automation testing right these are the only two approaches which which we have either we can do manual testing or we can do automation testing right so if you want to do manual testing we will perform the testing without using any tools so here the tester will perform the tools so performing the testing without using any tools is known as a manual testing and here the tester or person will do the testing we don't use any tools right but while performing manual testing we have certain challenges so to overcome those challenges automation tools came into market so these are only two approaches which we have either we can do manual testing or we can do automation testing but why we need to go to automation testing so we have certain challenges okay so let us understand what are those challenges while performing manual testing and then we will try to understand about automation testing okay so while performing manual testing as I said manual testing is we can simply test that application or test the software manually without using in tools but what are the challenges in the manual testing so there are majorly two challenges I think people already heard about this the first thing is retesting retesting is one challenge second is regression testing have you heard about these STS retesting and regression testing so these are the most two important type of testings we normally conduct during manual testing retesting and regression testing retesting and regression testing so what is retesting retesting means again and again we will conduct testing or we will do testing in reputation mode right everything we will do again and again same test we will execute multiple times same kind of a test we will repeat multiple times which is basically called as retesting retesting examples for example uh let us take a login test let's say you have an application in that we have a login screen so you want to test the login screen so to test the login screen only with the valid username and valid password is enough so we need to also perform negative testing means what when you provide valid username and valid password the login should be successful and if you provide invalid user invalid password login should not be successful so that is not enough for testing right we need to test the same uh login screen with the different type of inputs like valid username and valid password valid username and invalid password invalid username and valid password blank username and blank password so different combinations of data we have to use while performing the testing so what exactly we're doing there we are executing the same test case or same step steps multiple times with the different sets of data which is basically called as retesting executing the same test case again and again multiple times in multiple Cycles so which is basically called as a retesting but what is the challenge while performing retesting what is the challenge while performing retesting so we need to spend lot of time and effort right so if you want to do the same task multiple times again and again it takes some time and also we need to put lot of effort right in every cycle of execution we have to put lot of effort so this is time consuming process and also we need to put lot of effort so that is a major challenge while we perform the retesting he cannot skip this okay retesting we have to do sometimes while performing the manual testing that's a major challenge second thing is regression testing which is also most important so what is regression testing anybody know about it what is regression testing regression testing am I audible everyone yes am I audible to everyone okay so what is regression testing so retesting we have understood so executing the same test case multiple times again and again we call it as a retesting so what is the regression testing okay so regression testing I'll give you simple example we can understand very very easily so in the real time so whenever you want to test the software right what is the prerequisite for that we have to get it from the developer right so what is the developer task what is a what is a developer task so what developer will do developer is responsible for developing a software so for that what they will do is they will write the code right they do some kind of a code or they do programming and through which you can develop they can develop the software and once they develop some piece of software they will provide that software we can call it as a product or we can call it as a build a piece of software which contains some functionality and they will provide to QA or for tester so now what is the responsibility of the test we have to test the software whether it is working according to customer requirement or not right that's the main responsibility of the software tester as a tester what is our role we have to test the software according to the customer requirement whether it is working according to client requirement or not all functionalities are working fine or not that's a major responsibility of the tester so developer will not provide all the features it once single build okay they develop the software in bits and pieces let us say customer says I have 10 features should be there in your software or an application developer they don't develop all 10 features in one single build okay so they will develop one or two features in the first build and they will provide to the testing and after that again they will develop another two to three features and again another build provide to the testing so this will happen in multiple Cycles and when you reach the last cycle of the testing then you will find all the features available in the software so nothing will happen in one shot okay the developer will develop the software they will add more number of features in multiple cycles of the testing and the same time tester also will test those features in multiple cycles of the testing okay this is basically called stlc software testing life cycle process so during the process what happens is let me take a simple example so that you can understand let us say here I have a development team and here another side I have a testing scene so developer is provided bill number one to the testing team okay in the bill number one let us say I have executed let's say 10 test cases okay 10 test cases have executed in build number one I have 10 test cases to totally I have planned for build number one so I have executed these 10 test cases in build number one okay in cycle one and now in 10 test cases let us say eight test cases are got passed only two test cases are got failed okay eight test cases are got passed in the first bill two test cases are got failed now what we will do as a tester what we need to do we have to report the box to the developer so these two just just a second okay I think now it is fine okay okay so now in the first cycle of testing eight test cases already passed now let us say two test cases got failed okay now as a tester what you will do you will report the bugs right so these two test cases are got failed you will report them now the developer will provide you next build let's say build number two so in the bill number two developer will Implement some of new features okay some new features plus bug fixes some of new features and some bug fixes so in the Bild number two you will get some new features as well as some bu fixes okay just a moment guys I think something is wrong hold on right so in the build number two the developer will add some more new features along with some bug bug fixes okay now as a tester what is our responsibility what are the testings we do in the second bill so first priority will be given to the bu fixes right so whatever the test cases are got failed in the previous build we reported them now in the second build the developer fixed them now in the second Bill we have to test whether these two test cases are passing or not and along with them we should also test the dependent functionality what is dependent functionality means sometimes what happens is developer will modify the code right so to fix these bugs they will modify the code so because of that modification what will happen not only modifications sometimes the developer will add some new features so because of those changes the existing functionality will be impacted right if you developer changes something in the application definitely some existing code will be impacted right so not only these two bu fixes along with them we should also verify some dependent functionality or some impacted areas of the application so that is basically called as a regression testing regression testing means what whatever bug fixes the developer is provided we will verify those bugs are working fine or not apart from this we should also verify the existing functionality we have to make sure the existing functionality should not be broken Bren the existing functionality should not be broken because of changes done by the developer that is called regression testing simple way we can understand like this okay so the regression testing we have to do in every cycle because in every cycle some new functionality will be added or some bug fixes will be added in every cycle in every build right so definitely we have to perform the regression testing in every Bild and retesting is also part of regression testing so whatever test cases are failed in the previous build again we have to reverifying in the second build right this is part of retesting but because of this change impacted areas also we need to cover as part of testing that is a part of regression testing so now you understood what is the difference between retesting and regression testing retesting means what executing the same set of test cases in the next cycle or in the next build that is called retesting regression testing means what not only those retest cases we should also make sure the other existing functionality should not be broken because of this change that means impacted areas also we have to test that is called regression testing so these two type of testing will be continued in every cycle of testing in every build which is provided by the developer so these two testings are time consuming other thing is we need to put lot of effort so these are the two major challenges we face while performing the manual testing especially when you do retesting and when you do regression testing we Face challenges so to overcome these two challenges automation tools will be used so automation tools will reduce a lot of time and effort okay so this is all about manual testing so what is manual testing the testing the software without using any tools we call it as a manual testing and uh while performing retesting and regression testing we Face challenges means what we have to spend a lot of time because there is a reputation and the same test cases we have to reexecute multiple times that needs a lot of effort so retesting while performing retesting while performing regression testing we Face challenges while performing manual testing so now let us understand why we need automation testing so to overcome these two challenges we go for automation tools now what is an automation testing automation testing means that performing testing by using tools right we use any tool it can be any automation tool third party tool we perform testing which is called as automation testing performing the testing with the help of tools known as automation testing tool is nothing but what again it is a another type of software a tool is nothing but a software so performing the testing with the help of tool or tools sometimes we can use one tool sometimes we can use multiple tools so performing the testing with the help of automation tools is known as automation testing is known as automation testing but how exactly automation tool Works how can we overcome these two challenges by using automation tools so before understanding how we can overcome these two challenges we need to know how exactly automation tools work so how exactly automation tools work so let me just give you uh an example with that we can understand how exactly automation tool works and also why we need programming so while using automation tool we have to know some programming concept so why we need programming so that also we'll try to understand understand okay so now let's see how exactly automation tool works if you do manual testing let's say you have an application let's say this is your application under test so whatever application you are going to test which is called AS application under test now you have a manual test case so what is the test case what is a test case test case is nothing but a step by- step action which we need to perform on the application right for example let us take a login so what is the test case for login we need to launch our application then provide your valid username password click on submit button then check the hom page is displayed or not so these are simple steps which is called as a test case so test case is nothing but what step by step action which we need to perform to test that application so while performing manual testing you have a test case this is your test case now as a manual testing what is your job let's say you are manual tester what is your job you have to read each and every step in your manual test case and you have to execute that step in the application and you need to check expected and actual results are same right suppose you are performing some step you're executing some step on the application and what is your expected suppose you are opening your url of application on the browser so you need to check the homepage is displaying or not so after providing valid username and valid password clicking on submit then you have to check the home page is displayed now a login page after successful login let's say the dashboard page is displayed or not so that is our expected so what is the test case means test case contains a step by-step action which we have to perform along with that we need to check expected and actual results are same or not so if you find any mismatch between expected and actual you can find that as a bug and you can report to the developer that is a process of testing manual testing part now come to the automation so in automation what you will do is you have application under test whatever application you are going to test which is called application under test you have a manual test case okay you have a manual test case this is your manual test case now as an automation tester what you will do is you will convert this manual test into test script this is your test script test script is nothing but an automation format so whatever manual test case you have you have to convert the test case manual steps English steps into automation format test script we call it as automation test script okay and where you will write this automation test script who can understand this test script automation tool can understand so whichever tool we are using automation testing tool we have to as an automation tester we have to provide or we have to provide the instructions to the tool whatever steps we have written in the manual test case same steps we have to provide to the automation tool now tool can understand those steps and perform the actions on the application under test this is the process how exactly automation tool works so as an automation tester we have to provide the steps we have to provide instructions to the tool then tool can understand it and accordingly it will perform the actions and find out expected and actual results are same or not but how tool can understand our steps because normally in in the test case we will use English language and while writing the test case but how the tool can understand the language so we have to provide the instructions in particular language that the tool can understand so tool also can understand some language if the tool understand Java language then we have to provide the steps in the Java language we have to provide all instructions in Java if the tool can understand python then we have to provide all instructions in Python if the tool can understand any other language we have to suppose tool can understand JavaScript language then we have to provide all instructions in JavaScript language so the tool can understand a particular language in whichever language the tool can understand in the same language we have to provide all instructions to the tool and then only the tool can understand and Tool will able to perform the actions automatically on the application so there exactly the language come into picture so why programming language is most important for automation because if you want to work with the automation tool you have to learn a programming language if you know programming language effectively then you will able to provide instructions to the tool so that you can use the automation tool very effectively so that is the reason we have to learn programming first and then you have to learn how to use a tool we cannot directly jump into the tool first we have to know the programming and once you know the programming Concepts then you can you will know exactly how to use automation tool okay so now how Auto aut testing or how automation tools will overcome these two challenges retesting and regression we all discussed these two challenges retesting means what we can execute the same test case multiple times which is retesting regression testing is nothing but what in every cycle of testing we will reverifying fine that's called regression testing but how can we overcome these two while using automation tool or automation testing so automation tools mainly designed for to overcome these two challenges guys initial days automation came into Market because of these two challenges only retesting and regression testing but later on what happens is automation tools we are using for everything not only retesting and regression test cases whatever the functionality we want to test everything we will test through automation but initially the main purpose of automation tool is to perform the retesting and regression testing okay now let us understand how can we overcome the challenges while performing retesting and request testing using automation tool let us say you have one test case let's say take retest case you have a test case let's say I have multiple steps in my test case I want to execute the same steps multiple times with the different sets of data let's say have different sets of data 1 2 3 4 let's say I have 100 inputs on there sometimes if a test case is very complex you need to prepare test data first okay now I want to repeat the same steps with the different sets of data same steps I want to repeat so how can we do this through automation we will specify this test data in some external file it can be notepad or in Excel file it can be PDF file or any some other external files so we will maintain the data or it can be sometimes a database so we'll maintain the test data in some Source third party applications and and we will write your automation script all steps and this automation script this is our automation script will read each and every input and perform actions it will read each and every input automatically and then the same step will be repeated by the tool the tool will perform the actions so once you write your automation code that is onetime job so the some next time onwards automation tool will automatically perform the job by taking different type of inputs so if I want to do the same thing manually it takes a lot of time right so I have 100 input if you have four to five inputs we will finish within 5 to 10 minutes but if you have 100 inputs thousand inputs we want to repeat the same thing for multiple times it is very very difficult task right so exactly here we use automation tools so once you write your automation code and that will automatically take the input from the different sources and perform the actions so lot of time and effort will be reduced but what about regression testing how can we overcome regression testing challenge so as we discussed what is regression testing same set of test cases we want to execute in multiple Cycles let's say in the first cycle let's say in first cycle of testing you have executed 10 test cases and eight test cases are got passed let's say two test cases are got failed okay 10 test cases eight test cases part two test cases got failed so in the first cycle what you will do is whatever test cases are already passed you will automate them okay they will automate those test cases in the cycle two what you will do these two test cases whatever is got failed you will test them manually these two test cases you will execute manually and because of do these two changes maybe the rest of the functional is impacted right so these eight test cases again we have to execute why we need to execute these eight test cases they are already passed in the cycle one right but why we need to execute them again because the changes are happened in the second build the changes are happened so because of these changes what happens the existing functionality may not work properly so again what we have to do these eight test cases again you have to execute in the second cycle and because you already automated these eight test cases in the first cycle itself in the second cycle you will execute these eight test cases through automation because you already automated they are already passed in the earlier build so they are already automated so in the next cycle you will run those eight test cases automation tool by using automation tool in that way we can reduce the time and effort and in the second cycle let's say these two test cases also passed then what you will do as soon as the test cases are got passed you will also automate those test cases so like this in every cycle there are certain number of test cases will be there for execution through automation so that will reduce lot of time and effort so that's how we can overcome retesting and regression testing challenges while using automation tools so now here we understood two important parts one is how exactly automation tool works so as a automation tester we have to provide instructions to the tool how we can provide instructions to the tool through the language language is a medium like if the tool understand Java then we have to provide all instructions in Java language if the tool can understand python then we have to provide all instructions in Python language so where exactly the language programming language come into picture right and automation tool can understand those instructions and accordingly it will perform the action on the application automatically so almost every automation tool will work in the similar way the language may be different the internal architecture may be different but the the way of working how we can understand the instructions how the how actions to be perform the application is almost the same okay the language will be different okay some tools will understand multiple languages and some tools will understand only one or two languages it depends how automation tool is got designed if I look at s selum supports multiple languages suppose if you know Java you can use selenium if you know python you can use selenium or if you use if you know JavaScript you can still use selenium so like that so some tools will understand multiple languages some tools will understand just one or two languages so understand this so what is an automation testing automation testing is performing the testing with the help of tools by taking help of automation tools we will perform the testing which is basically called as automation testing so now we understood two important points how automation tool works and why programming is required for automation I hope everybody is clear so far can you please confirm in the chat window are you guys clear so far so we understood just basic stuff what is manual testing what is an automation testing and what are the challenges we have in the manual testing and how can we overcome them by using automation testing and why programming is most important to learn automation testing tool without programming you can't understand the tool you can't work with the tools so programming is must should not in-depth programming at least you have to know how to write the test case okay so we will discuss later so this is the basic introduction part we understood now let us talk something about selenium okay so we are going to learn selenium so because we have to know some basic stuff about selenium so what is selenium so there are multiple tools in the market to perform automation testing but why especially we have to learn selenium what is selenium what are the advantages what it will support what it will not support okay and we will try to understand this so what is selenium there are multiple definitions are there let me just put all the definitions the first important thing selenium is basically web automation tool we should not say selenium is a tool tool is nothing but what a single component which we can download install and we can use it that is basically called as a tool right but in reality selum is not a tool actually it's a collection of multiple components or it's a collection of multiple libraries but generally we call it as a tool but reality as per the definition it is not a tool but even though if you call it as a tool nothing wrong in this in the normal terminology so the first definition of selum is it is a web based automation tool or we can say library so library is a right word instead of using tool using library is a right terminology so selum is a webbased automation tool or a library what does it mean why we are specifically saying web based automation tool web based automation tool or Library means selum support only web based applications selenium supports only web- based applications we can test only web based applications so do you know what type of applications are there in the market guys can anyone tell me what are the different types of applications types of applications in the market I'm talking about types of applications yes different types of applications you have web based applications or we can say web applications right web applications and second is what desktop applications desktop applications and third thing is what nowadays it's more famous mobile applications or mobile apps so mainly in the current market these are the three different type of applications which we have web- based applications desktop applications and then mobile applications now let us understand the difference what is web based application web based applications means we can access those applications through browser right so actually those are resides in some servers remote servers and we'll try to accessing those applications using browser so nowadays whatever applications we are accessing through browser all are webbased applications e-commerce portals banking applications right social applications linked in Facebook these are all comes under web applications so through browser we are able to access those applications they are called Web applications and what do the desktop applications means desktop applications those applications we can just download and install on your local system and you can use it you don't need any internet for them but if you want to use web application you need internet con you need to connect to the internet then only you can work with the web applications through the web you can access but desktop applications you can still use without having internet examples can you give me some examples for desktop applications yes so whatever applications we are using internally like msxl word PowerPoint notepad calculator right so these are all comes under desktop applications so mostly will download those applications and we can install it on your local system and you can try to use it you don't need internet for them right if you want to use MSW document you don't need internet if you want to use notepad you don't need internet they're all called desktop applications now the third type of applications are what mobile applications so nowadays these applications are very famous you know already what is mobile applications we are using Whatsapp LinkedIn all Twitter right in your mobile so through Play Store or through Apple Store you're trying to install the application apps mobile apps right they all comes under mobile apps mobile applications so these are the three types of applications currently which we have in your Market web applications desktop applications and mobile applications right now when you come to the selenium selenium support only web based applications it is designed only for web based applications not for anything else so we cannot test desktop applications we cannot test mobile applications we have to use some different tools for them but selim is only meant for what web based web based applications so cim is a web based automation tool or library now we will try to understand some more definitions selenium was originally developed by Jason Haggins in 2004 from thoughtworks actually he is a this is the name of the developer Jason Haggins he's a developer who was working in thought Works company during 2004 so in this particular time in the market uh desktop applications were there in the market but web applications are newly coming into the market so during that time internet is becoming popular so web applications started coming into the market during those days okay so that time qtp was there qtp or UFT the tool was using people uh for both web as well as desktop applications but now what they want to uh do is they want to develop uh a software or a tool through which they wanted to test web application and that to open source mean they don't want to buy anything external tools but they want to develop themselves a tool through which they want to automate the web application so they have started implementation and that is becomes a selenium later so selum is basically started by Jason haggis he is a developer who was working in 2004 in thoughtworks company okay so he is a developer he started and after that what happens there are so many other developers contributed their time and effort and uh they make they made the Sim as a community based tool it is running by through community means what community based tool means what there are multiple Developers for multiple companies they're spending their time and effort and they have contributed and slowly they have added so many features into selum then they make as a community based tool because it is running through Community run by Community itself anybody can contribute if you have some basic knowledge if you you have if you want to develop some new features in anybody can contribute it so this is totally open source open source means what anybody can customize it and we can use it freely we don't need to buy any license for that that's called open source okay so selm is started by Jason Huggins in 2004 from towork company and initially they have used that only in their companies and later on after making that as a community based tool everybody started using it and during 2010 2011 those days and those years it becomes very popular and it is open source as I told you what is open source means anybody can customize the code anybody can add new features and uh it is totally free of cost we don't have any license or we don't need to pay anything for [ __ ] just we need to download the library do some configuration you can start using it total it is free and it is a collection of multiple component as I said in the beginning Sim is not a single tool actually it's a collection of multiple components which is having ID web driver and git in the initial days we have also RC component remote control so collectively we call it as a selenium selenium ID integrated development environment selenium web driver selum grid selenium RC remote control instead of RC they have replaced with web driver so now RC is outdated now web driver is already deprecated and uh web driver is replaced so ID web driver and grip so these three components collectively we call it as a selenium but majorly we use web driver majorly we use web driver for our automation okay so these are all basic introduction what is celum celum is a web based automation tool or Library which is developed by Json hains in 2004 from thoughtworks and after that they made it as a community based tool becomes open source and totally free of cost and which contains a multiple components ID web driver G and majorly we use web driver selum if anybody talking about selenium they are basically talking about selenium web driver and every component is having their own usage ID for recording playback web driver is for automation grid is for execution so every tool is having every component is having their own usage later we will discuss in detail here I'm just giving very high level over you okay so this is all about what is selenium okay so the question is why there was no development around desktop applications means supporting both web and desktop okay so [ __ ] initial days their requirements totally different okay so they wanted to just automate only web application that is their requirement in initial days so that is the reason they have just concentrated only on the web based applications and the tool which support only web- based applications and if you want to test any desktop applications or mobile application there are some other tools are available in the market even there are some tools which will support everything so if you want to test web as well as apas or as well as mobile apps desktop apps then there are some tools are available in markets tools are available in Market okay but why [ __ ] is meant for because those days they want to test only web applications they don't have any type of supporter their goal is that actually so accordingly they have concentrated so they have focused only on web applications so for that they develop the selenium part so that's the reason SEL is only for web based automation it doesn't support any other type of application okay fine so General things I will talk at the end of the session first uh concentrate on this okay once the topic is done then I will discuss the general things so now we understood what are the different type of applications are there in the market and what type of applications the celum support only web based applications celum supported and rest of the type of applications we use a different tools for desktop applications we go for UFT or CQ or Auto for mobile applications we use appm or some other tools okay but web applications we will prefer to use selenium okay so now let us try to understand what it will support what it it will not support because every tool is having their own advantages and disadvantages no tool is perfect in the market if you take any tool definitely there are some advantages definitely there are some disadvantages also there okay now when you come to selenium so let us first understand what are the advantages why we need to uh learn selenium okay let us talk about advantages just a second open source tool and pre of cost so the first advantage of selim is what open source tool and it is a free of cost so why people are started learning and started using companies because it's a open source open source means what as I already told you anybody can do modifications in the tool itself if you want to add some more features you can just download selenium library and you can develop something and you can check in so that particular change or that particular feature is available in the market for the users it is available open source means what it is easily customizable and moreover it is free we don't need to buy any license for that so that is the reason selum becomes popular in the market in the initial days but uh later on there are many tools came into Market they are also open source and freely available but initial days when you come to automation part automation testing part the open source market is started from selenium okay so it is totally open source and free the second one mainly it will support multiple operating systems multiple browsers and multiple languages these are the three main features from selenium so that is the reason selenium become very popular in the market it support multiple operating systems so normally if you take any tool it will support just one or two operating systems but selenium support multiple operating systems what does it mean we can install and we can use selenium or Windows or Mac or Linux or Unix whichever operating system you have you can configure selenium and you can use use it so that is supporting multiple operating support is there multiple operating systems it will support multiple browsers also it is supported which is another main main important feature we should have especially web web based automation tool okay so why it is support multiple browsers especially when you do web testing or web application testing as part of our requirement we should execute our test cases on multiple browsers so like Chrome browser we have Firefox browser we have edge browser Opera browser Safari browser there are different browsers are there in the market so we have to execute our test in multiple browsers why we need to test why we have to execute all our test in multiple browsers that is basically called as a cross browser testing because we don't know exactly which browser the client will use some of them like Chrome browser some of them like edge browser some of them will like Firefox browser right so our application should work in multiple browsers in the similar way right so sometimes what happens is when you open your application in different browsers you will face some UI issues the same kind of elements will not be displayed on another browser so most of the times graphical user interface issues you will get so to solve them you have to first execute our test in m multiple browsers which is basically called as a cross browser testing cross browser testing means what we can execute our test cases and multiple type of browsers so through automation how it is possible if the tool supports multiple browser execution then it is possible right so once you write your test case we can execute it on different browsers how it is possible because the tool will support it if the tool supports multiple browsers then we will able to execute our test cases on multiple browsers that is possible so celum supports multiple browsers multiple operating systems and also multiple browsers now third important point is support multiple languages it will support multiple languages Java python Shar Ruby JavaScript these are the main languages currently it is supporting you don't need to learn every language at least if you know one language you can start using with that language if you know Java you can use with Java combination if you know python you can use with python combination at least one language you should know to use selenium so multiple languages support is there if you take any other tools it will support just one or two languages mostly only one language the tool will support Max one or two languages but San will support different type of languages and moreover we can also integrate some third party tools suppose sometimes selenium is not provided certain uh features for example whenever you want to work with Excel sheet or some databases celum doesn't support that because celum is only for web based applications it can automate web application it doesn't support anything else but still if you want to work with Excel sheet or if you want to work with the database we can we can integrate some third party tools so that is facility which we have so integration of third party Tools in slim is also possible okay so in the same project we should not use multiple languages that is not right requirement okay what if you deal one single project you will take Only You will choose only one specific language okay whenever you want to use whenever you want to work with a particular project you will choose only one language don't use multiple languages for one single project okay just a second okay so these are the advantages guys it's the open source tool it's completely free and just a guys can you hear me can you hear me okay so yeah let's continue so these are the advantages of selum so now let us discuss some of the disadvantages so every tool we have some limitations okay now let us try to understand limitations okay four and fifth point so fourth point is multiple languages it will support multiple language in the sense you can use one of the language so you can write automation script in Java or you can write automation script in Python sh or whichever language you want that is called multiple language support and the third party tools of support in the sense what suppose you want to work with the Excel sheet especially when you perform the retesting and data driven testing you have to specify all the test data in Excel sheets and we have to read the data for our automation but Excel sheets doesn't supported by cenum then how can we do it but we have to use Excel sheet in our Automation in that case we have to integrate some third party tool which is not selenium tool like Apache POI we have to integrate with a selenium then we can overcome that suppose for example if you want to generate the reports so once you have executed multiple test cases and you want to generate some reports but celum doesn't support reporting mechanism it doesn't have any reporting support so then what you will do you have to integrate some third party tool like test NG extend reports so you have to integrate with selenium and then we can use them in our automation so that is called integrating third party Tools in selenium so wherever you find some limitation in selenium we can overcome that limitation by integrating some third party tools so that is a flexibility which we have in selenium we can integrate third party Tools in selenium okay so now only one project we choose one language we don't use multiple Lang languages for single project okay if you start uh automating an application if you start a new project choose only one language whichever language you know you can choose only one language throughout the project now let us understand what are the disadvantages what we cannot automate using selenium first point we cannot support uh celum doesn't support window based applications which we already discussed it is only meant for what web application Sim is only for web application so it doesn't support window-based applications okay it cannot support window-based applications but how can we overcome this suppose if you still want to automate Windows sometimes right especially when you're uploading the files when you're downloading the files so those scenarios if you want to automate definitely we want to deal with the desktop applications along with the web applications so we can overcome them by integrating Auto it C robot API again these are all third party tools as I discussed in the fifth Point wherever you have some limitation we can overcome that limitation by integrating third party tools so these are the third party tools like Auto ID SQ Robo API by using them we can automate window based applications that's the first point but by default selum doesn't support window-based applications but there are certain scenarios where we have to deal with the window-based applications not completely in those cases we will try to integrate some third party groups now the second thing is reporting not supported this is another limitation which we have in selenium reporting is not supported means what how can we overcome this problem reporting is not supported so we have to again integrate with the test NG external reports all those things so by integrating those things we can by integrating those things we can overcome reporting Sim is only for web based application it doesn't support reporting mechanism but at the end of the day we need reports right while executing your test cases you have to generate some reports for that we have to take the help of test NG and external reports which we can integrate in selenium okay just a moment I'm just reconnecting guys just hold on yeah now the third limitation cannot support Excel files as I said before when you perform data driven testing when I use Excel she sheets [ __ ] doesn't support it but we have to use it we have to use Excel sheet for specifying the test data again we have to integrate Apachi POI this is again third party Library which you have to integrate with selenium and graphical things and captas are not supported and we don't recommend to automate them also because graphs are more dynamic in nature based on the data the graphs will keep changing and captures are especially introduced for security reasons so we cannot break them so those things we can't support we don't automate those type of scenarios these are the diff disadvantages and we can say limitations in selenium so every tool is having some limitations similarly selum is also having some limitations but there are more number of advantages are especially it will support multiple operating systems multiple browsers and multiple languages and moreover it is completely free of cost so that that is a reason selenium becomes very popular in the market there a that's the reason most of the companies are trying to use CM it is having more number of features and moreover it is totally free they don't need to uh spend any budget on that so that's the reason selum is becomes very popular so the fourth disadvantage is it cannot support Excel files especially when you're working with the re data driven test cases data driven test case is nothing but what we have to prepare the test data in our Excel sheets or database or some Notepads for example let's say I have a login screen just try to understand okay I want to provide the username and password then I want to click on the submit button so I want to test this login screen with the different type of inputs like valid username valid password invalid username invalid password valid username invalid password so different combination valid username and valid password valid username and invalid password invalid username and valid password blank username and valid password valid username is the blank password so these are the different combinations of data now if you write your automation test script you have to run this automation test with the different sets of data with all combinations of data you have to execute so automation script we can implement by using selenium this we can do it but how to read the data from this Excel sheet we will put all the data in Excel sheet but how to read entire data into your automation test script so celum doesn't support any external applications but we can integrate there is Apachi Foundation is provided a package called POI in the upcoming class sessions I will discuss in detail okay what exactly they are so these things we can integrate with selenium so that we can read this entire data from Excel sheet means indirectly Excel sheet support is provided through Apachi POI because celum doesn't support directly okay so celum cannot support Excel files directly but how can we achieve this through Apachi POI we can achieve this this is the limitation this is a disadvantage but still we can overcome that disant by integrating third party library or third party tool which is called Apache POI same thing here also reporting is not supported what is reporting means suppose you have 100 test cases you have executed so you have to get some report right how many test cases are passed how many are failed how many are having bugs so all this information you want to generate some Consolidated report that's called a report that report shows everything the execu status but that report should be generated by your automation test script you don't generate your own report your automation should itself should able to generate the report but celum don't have such feature celum can automate web application can execute your test cases but finally it cannot generate any report for you so but the reporting is very important in automation reporting is very important at the end of the day how your team will know how your leads will know how many test case you have executed what are fail what pass how much percentage of tests are executed how much percentages got failed how they will know exactly they don't sit in front of you and they don't see your execution part right finally they need only report your management your leads read report so you have to share that report to your leads once your automation is executed so that reporting mechanism is not there in the selenium it doesn't support any reporting mechanism but we have to generate the reports that is is mandator required for that we have to use test NG and extern reports these are also third party tools we are going to integrate with the selenium then we will able to generate very attractive reports okay clear everyone graphs and captures we can't automate graph is nothing but what if you have some data like this it will generate the graphs like this so these type of scenarios we cannot automate why because the graphs is more dynamic in nature means what data is keeps changing obviously the graph is also keeps changing so we cannot automate this captures are there sometimes uh in your application there will be some capture you have to scan this right so this is provided because of security if your automation code is bro break this particular capture what does it mean you are violating the security policy so the captures cannot be breakable through your automation so such type of scenarios also we don't automate first of all celum doesn't support it okay so guys everybody is clear about advantages and disadvantages selenium advantages what are the advantages and what are the disadvantages but there are some disadvantages or we can say limitations even though there are limitations we can still overcome them by integrating some third party tools because they are very important sometimes we have to interact with the desktop applications or window based applications celum doesn't support but we have to take the help of Auto ID SQ or robot API similarly if you want to generate the report celum doesn't do that we have to take the help of test or extern report similarly celum doesn't support Excel files so we have to take the help of AP POI because these are all mandator required for your automation okay but graphs and capture we don't automate at all first of all they don't selum not recommended to automate such type of scenarios so we can simply ignore them so these are the advantages or disadvantages we can also say limitations in selenium okay now finally we will discuss something like versions what are the different versions are there in the selenium and when it is got started so quickly I show you what are the different versions are available in selenium so celum 1.x X means it can be any version like 1.x means what 1.1 1.2 1.3 1.4 all these series comes under 1.x similarly 2.x means what 2.0 2.1 2.3 2.4 like that same thing 3.1 3.2 3. three and so on so selum is started from 1.x and in 1.x it is having only three components selum ID is only for Firefox browser they have implemented ID is basically for record and Playback means we can record all the actions it will automatically generate some piece of code when you execute that code it will replay it just record and Playback actions for that ID it is a plugin which is available for the browser later I will in detail here I'm just giving very high level overview and RC is remote control and grid web driver is not there at the beginning stage through RC you are able to automate web applications now from celum 2. onwards uh ID is still continued on Firefox and RC is replaced with the web driver component now s 3.x onward ID is also implemented for Chrome browser and web driver G is still continued with the some new features and [ __ ] 4.x is again ID is implemented for fir Fox Chrome as well as edge browser and web driver G is still continued with the latest features now what is the latest version of selum we can check in the website and this is their official website if I just go to you can search for selenium and you will find this web page this is their official web page selenium official web page you can see on the homepage they provided these three component selenium web driver IDE grid these are the three components and if you go to this downloads you will find multiple languages these are the five different languages currently selum is supporting C Ruby Java Python and JavaScript so we are going to use Java with selenium so the latest version is is what 4.2.1 September 4 recently released version so 4.2.1 is a September 4 is recently released so we are going to use this latest version in so still 4.x 12 is a latest version and it's still continuing 4.x series is still continuing and all components are already there so these are the different selenium verses currently available so we are going to learn all three components we are going to use Java as a language and if I come down to this it is also uh showing other information like what are the different browsers it will support so these are the browsers selum will support Firefox Internet Explorer is already duplicated because after s Internet Explorer 11 Microsoft is introduced edge browser Microsoft Edge so it is stopped providing more features on inter this is all already outdated instead of this we can use edge browser and Safari is supported especially for Mac users they can use celum for Safari and Opera is also supported so these are the different browser support is there and come to operating systems currently these are the three operating systems supported by selenium Windows Mac as well as Linux so all this information is available in their official website this is their official website and Doc mentation download software everything we can get it from this website itself and if you go to the documentation they will provide the documentation very clear cut documentation we provided for every language in every language the documentation is provided if you go to the web driver so web driver documentation is got provided all the topics all the concepts are they provided with some examples in every language they have provided so downloads documentation and supported Rel information is they have provided so this is their official website so everything we can refer from this website in future if you want to download or if you want to refer any documentation everything we can get it from this website okay so these are all selenium versions so guys understood so far so we have done with some in ction part so what is selum we have understood what it will support what it will not support that means advantages disadvantages and what are the different versions of selum currently which we have so we are going to deal with the latest version in the coming sessions but before start learning selenium as I said before programming language is most important so programming language will play most important role in our automation so next two to three weeks of time we are spending good amount of time only on the programming programming concept only programming so once you learn programming Java then we will start selenium web driver I will share the content what we are going to learn so this is all about introduction so after that I will discuss the general things so before discussing the general things about training curriculum all those things do you have any questions so far on whatever the top topics we have discussed so far so OTP Automation and all we can do there is no specific support required for that so OTP is just to write automation code so far everything is clear please confirm in the chat box everyone so we have just discussed very basic stuff so for mobile app testing we have a different tool called APM so for different purposes we have a different tools are available in the market and Sim is only for web automation whenever you want to automate web application we will try to choose selum as a option okay multiple tab can be automated yes the they are all features actually okay multiple tabs multiple windows okay they are all we can handle through [Music] automation okay so this is all about introduction part in the coming sessions uh we will discuss in detail so whatever I mentioned here everything we will learn okay everything like third party tools also we are going to learn like test extend report and robot API even one of them is fine robot API or sq a of them we can learn and apach P also we are going to learn so everything whatever I mentioned here everything we are going to learn okay so this is all about interaction part in the next coming sessions we will discuss in detail