 Hi all. Welcome to the STH week 4 day 1 online QTP training course. So, let's start with our session. Now assignments, Haritha and Shree, do you have questions? No sir. Okay. Shree, do you have any questions? Till now? No sir. Yeah, not from me. Yeah. Okay. Okay. So, today we will be covering the inbuilt functions and methods supported by QTP, then checkpoints, output checkpoints and the code which we need to connect, which is required to connect with the Excel. We will learn that code as well. And then we will see also automation object model, which we will be using for our wrapper code. Okay. Now inbuilt functions. Okay. In the last class, we covered some of the functions like mid, u bound, l bound, trim, length, array and spread. Now today we will be covering some of them, which are very important. Okay. C1 by 1. Now we will see the in string function first. Okay. In str, this in string, return the position of the first occurrence of one string within another. Okay. I show you the example first, then we will go into the theory. So, in string, let's say we have a string str, we have a harita is asking, do we remember all these functions? Yes. Yes. Yes, you need to, because the reason being that, that situations comes when you need to do some manipulation with your data, test data. In that time, these functions are very helpful. Okay. These functions are very helpful, which, which, which give you a option to how to manipulate with your test data. Okay. So, you need to remember just how to do it. You need to know the method. That's it. You all get into the help. Okay. Harita. Okay. Now in string, let's say in a string str1, we have VB scripting. VB scripting is used by QTP. Okay. Now, what I will do? Start. Start is your optional. Okay. If you want, you want, you can put. Okay. String is our str1, str1, comma the string which I need to search in str1. Okay. So, let's say I have to search used. Okay. And I'm closing this. I'll run this. Okay. I'll run it, then you'll get to know that what is there. You can see that the output is zero. Now, I'll see. Okay. It returned the position of the first occurrence of one string within other. Okay. So, string one, string expression to be being searched. In our case, it is this string. Okay. And we need to search this string used. Okay. Now, what it will return, this function will return the position where it matches. If it matches, then it will return you zero. You can see here. String two is found within string one. Then position at which matches found. Okay. So, whenever it finds a string into your searched string, then it will return zero. Okay. Or position at which the matches found. Okay. What if it is not there? Now, let's see this is the case. It's returning zero here. Okay. Okay. str1. Okay. You can see here that we have used stri1. stri1. And we are here, we are passing str1. That's why it is returning zero. It is not returning the position where it will found on it. Now, you can see that it is not found any result that that is why it is returning zero. Now, if I put used, then it will return the position. I'll pass used. I need to search this thing. If it is matched, then it will return the position. You can see that 16. 12, 1, 2, 3, 4, 5, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16. So, here from here it is finding. Okay. So, it will give you the position at which it will occurred in your searched string. Okay. Now, we will see the another function. Do you have any questions? Haritha, Mangla and Sree related to in string. Sree, Haritha, Mangla. If there are two used, there are two used. Okay. It will show you the first one. It will show you the first one. Okay. Okay. And you need to try all this. I have given you this example. Okay. Position at which match is found. You need to try all this permutations and combinations. Okay. So, that you can learn more about this string function. Okay. Mangla is having questions. So, it will find the position of the search string. Yes, Mangla. It will only find the position of the search string. That's it. From where it is matching. Okay. It will give you the position. That's it. Is it okay, Mangla? Please type in the chat window. Sree is having questions. So, QTP search from a string then used for executing another function. So, QTP search from a string then you use for executing another function. I didn't get your question, Sree. Can you please rewrite your question? It look for position. Let's say you want to search a string where you need to find out that whether the search string is there in the there in the string where you are searching. You want to know that whether the string is there or not. If you get to know the position then you can do the manipulation based on that. Right. It's looking for position only. That's it. Now, let's say now let's say you have mercury wave application. Right. I'll give you a demo. I'll give you a demo. Okay. Let's say you have this page. Okay. Now, what I'll do is I take an object in the object repository first. Okay. Now, let's see this. It's not recognizing this thing. Just a moment. I need to open the mercury wave application first. Then I'll give you a demo. I'll stop. Object repository. Okay. Now, now what I have to do, what I want to do that I want the name property of this login. Okay. And then I have to pass in different action. Okay. I need to or I need to check that whether this name is having a log login or not. If it is a login value, then it will be a pass as it will be a fail. Is it clear? What I need to do that I need to check whether this sign in image is having a value of login or not. Is it clear? This is the problem I have, which I need to resolve. Is it okay? I see. Okay. Now, what I'll do, what I'll do dot get our property. It will give me runtime property. Okay. Value name. Okay. Name is having value. Okay. Value is login, right? So B equal to now in B, I have a login. Okay. And I need to search login. Okay. Then message box. If it is there, if C, if it matches, then it will return the position or if it doesn't match it, then it will return zero. So C is not equal to zero. Then message box will be pass. I am correct. Mangalai and Shree else message box fail. Okay. Now learn it. You can see here it's pass and what C is returning? C is returning one. That means on the first position it matches the string. Now you got it. Shree and Harja. So it will give you the position so that you can match it. Whether this string is on the string is there on the string which where you need to find it. Okay. String to be search or string to be search for. So in the string to be search, you can search your string. Is it okay, Shree? Harja? What about Harja? Okay. Now we'll see another function that is a replace. Now let's say you have this string B. In B you have a login, right? And you wanted to replace this string. You wanted to replace this string. Replace means replacing the value. C equal to replace. Now what is your expression here? Expression is my B, fine. What do you need to find? Okay. I want to find G and with which value you want to replace it? I want to replace it with O. Now what it will give you? Shree and Harja. What it will return? And all these are the, why Shree 0? Replace means replacing the string, replacing from the string. What we have in B? I am replacing G with O. Harja, G with O, Shree, G, L, O in B I have login. Right, right. It's loon, not loon, Shree. It's loon. Let's see, run it. It will replace the value. You can see here. It will be loon. In this way, you can use the replace function. Now we have another function called date, from which you can take a date. What do you need to write? C equal to just date. Message box will get the current date. Whenever you want a date, which is current date, then it will, then you need to do, then you need to use a date function. You can see here. It is giving you a current date. Now let's say you want to check your string that whether this string is numeric or not. So for that checking, we have a function called isNumeric. Now we have B, B is a string. Now I want to check that whether this string is numeric or not. So for this, we have an build function called isNumeric. C equal to message box, run it. We have put it, message box is a B. What is happening? I don't know what happened. So I need to write here C. Now let's run it. Now you can see that it is returning false. Because B is having a string value. It's not numeric, right? Write C and I will pass a numeric value. What it will return? It will return true. So this is all about our in-build functions which we have in QTP and which we can use for manipulation of our manipulating or test data or something string which we need to manipulate. So these are some of the in-build functions. There are a lot of functions available with the QTP which are available, which can be used. So you need to do the R&D work and you need to learn and this is the way you can learn the in-build function. So the important one, I have given the demonstration, how can you use it? So just remember it. You will get everything in the help file. Syntax wise, you will get it in the help window. Now we'll see some of the important methods which are available in QTP. Now let's say methods. Now first I'll save this first. Any questions related to your in-build functions? Now we'll see some of the methods which are available with the QTP. The first method which we are going to learn is the Exist method. Let's say Exist method checks only. It only checks. I'll show you. We have Exist property. You can see here, you can use the Exist property to check whether or not a window exists. To check the existence, we use our Exist method. Like let's say I want to check whether this use added box is present in this window or not. So to check this, what I can use Exist method. First what I'll do, I take a description of this. Now I want to check whether this web added box is present in this page and browser. So what I'll do, I'll use Exist method. If browser page web added username dot exist. Okay. It returns only true or false. If it is there, then print text box is present. Box is present in the application where you need to check. So you can use Exist method. And it is widely used in the projects. Very frequently, we use this Exist method. Okay. Else, text box is not present in the application. And if I'll run it. Okay. We have not put it then. You can see that text box is present in the application. So in this way, we use the Exist method. Exist method used to check the existence of your object. Okay. Whichever you want to check the existence, you can put the Exist method over there. Okay. Now click. Click method is used to click on any web object. Like in sign in, I want to put, I want to perform click operation. Just click. Okay. So you can put it. Just click is for clicking any object. So just click. So it will click your web object wherever you want to perform this operation. Okay. Now the next method is activate. Activate means it will activate your window which you want to open. Okay. Now, let's say you have this mercury web, mercury page. Okay. And you want to activate this page. Okay. And then you want to perform some action. Let's say you want to perform, want to enter. First activate and then enter the value. Set. Okay. Set is used to enter the value. Okay. And we are entering the value in the username. So first I want to activate this page. Sorry. Browser. Browser.Activate. See in the help what is there for the activate. Activate method. Activate. Okay. It activates the window. Object.Activate. Okay. Let's see the example. Like this. WindowNotepad.Activate. The following example uses the activate method to activate the window. Okay. Now what I will do? I will record. Okay. It only activates your window. That's it. What I will do? I will record. Like you see here. WindowNotepad.Activate. I will delete this. So activate method is used for window. Okay. To activate window we use activate method. I will run it. You can see that. Now your untitled notepad is your activated. Now it is popping up into your screen. That means it is activated. Okay. See is it okay? Now let's say I want to close this. So what I need to use? Close method is there. Which is used to close any window or page as well. Okay. Browser page as well. Like close. Or what I will do? This browser, I wanted to. It's activated. Now I want to close. It is. It is clicking. Close means it will click on this sign. Okay. X. Closing. Okay. So it will close this window. And let's say if I want to select one. So select anything then it's for this. We have a select method. Now let's say I want to select something from this web list. Okay. So for that we have a select method. First I will take the description in the object repository. Then I will perform the operation. Now you can see that is a list. Okay. From this list I want to select something. Okay. From port. Wherever you want to select then it will select an item for you. Okay. Now select from port why I want to select London. Okay. Then what I need to pass just or just need to put London. Item. Okay. Let's see. Now you can see here then it is London is selected. Okay. So this is all about select method. Till now she and Haritha Mangala. Do you have any questions? Related to the methods and okay. Now we'll see one of the very important method which we used in QTP while doing the scripting that is a reporter object. At this method you need to implement in your life project as well. Okay. We'll see reporter. Report event. Event status can be done, fail, pass warning. Okay. What is reporter? Reporter is an object which is used to send the information to your test result. I'll repeat reporter method is used to send the information to your result. Okay. And report event is one of the method of your reporter object. Okay. Now event status I want to send mic pass means it is pass, step name, login, details, user is successfully entered in the mercury web application. When I'll put this. Okay. Now she and Haritha and Mangala. Can you tell me when I'll use this reporter event? In which scenario I'll use this method. Shree. Haritha. When I need to pass the information. Yes. To verify something as hard card. Very good. Okay. So when we need to pass something, we need to pass into the result to get an idea whether this is verified or something is verified or something information we need from the result, then we'll use this statement. So let's say in our object repository, we have username, right? No. Now I'll add an object in this pass. So I'm setting username in the same way you have to use in your life project as well. The way I'm using it. Okay. I'll give you a demonstration on how to use it. Now I'll setting a browser name and a username and password. Okay. Then mercury. Okay. Now let's say if user has entered the user ID and password and click on the sign in button. Okay. No, just a moment. Just a moment. Why it is taking so much time to log in. Okay. When I'll enter the username and password, then I'm clicking on the sign in button, right? So sign in button. And I'm saying that if this web list from port object is present in the next page. Okay. Then it will be a then user is successfully entered in the mercury web application. So what I have to use here in this line, what I need to use, I need to write something that if this present, then you will say that user is successfully entered in the mercury web application. So tell me what should I use? Yes, very good. It need to be used exists. Right. If it exists, then I'll say that user is successfully entered in the mercury web application. So what I'll use, I'll use dot exist. If this happens, then pass the information to the result that user is successfully entered in the mercury web application as pass this information as fail. Okay. User is not able to enter in the mercury web application. And I need to yes, yes, I'm using them. Okay. And then end it. Okay. So in this way, you need to write the code. And remember this. Remember this to get the things to get the results to get to know that whether your application is working fine or not, we are always passing this kind of information to our test result to get to know that whether application is able to log in or some functions are some objects are available in the application or to get to know all this thing, we use reporter event. Okay. Okay. Let's see. Now I'm saying that when it will display this web, web list, when QTP recognize this web list departing from then we'll say that user is logged in. I'll close this and we'll run the application for you. We'll run the QTP scripts. What are you saying? Syntax error. We have not closed the basis. Okay. Do not to use this basis actually. Close this and again on it is already password. Now it will check it is checking why this pitch came or run it again. See what mercury mercury fine in button are we passing the incorrect password. Why it is not taking MS caps lock or what? Okay. Use small m. Now it is logging. Now you can see that it got your web list, right? It recognized it is exist. It exists. Now f11 close. Now we'll see the test result. What the information it has passed to your test result. You can see here that in the test result, in the test result you'll get user is successfully entered in the mercury web application result pass. This is your step name and it is your step details and make pass, you have passed, right? So it is passed. Make fail means it will come fail, done, information. Okay. So this information can be passed to your test result. Is it clear? Haritha, Mangala and Sri. Okay. Whenever you want to pass some information to your test result, then you need to use reporter event and it is really we use a lot this reporter event to send some information to our test result. So that the end user will get to know that whatever is happening in the application, we can pass this result to anyone else. Right. So that he can get to know that where we are, where the steps are passing and where the steps are failing. Right. So it is used for reporting as well. So you have to use this reporter event. Okay. And in the same way only. Okay. So here we are come, we have completed our topic of inbuilt functions and methods. Now we'll move to our checkpoints. Okay. Mangala. For debugging, I didn't get you Mangala. For debugging, why you want it, right? Because we have, we have, right, we have this thing. Debugger viewer, you'll get to know that every value, right? So why you to use reporter command? We have a debugger view where we can see the variable value command on it to report the test results. Any information you would like to send it to the test result, then you use report event. No, not for debugging we use, we use only for, for, for sending the information to the test result. That's it. We use report event. Okay. Now we'll move to our next topic, that is checkpoint. That is our checkpoint. Let's save this first. Okay. Now, now checkpoint. Checkpoint is a method used to check the content before and after the step. Okay. That is, it is used to compare the expected value with the actual value displayed in the application. Okay. And these checkpoints can be customized according to the requirement. Now the checkpoint can be added while recording the application or it can be added after the recording is completed using active screen. Okay. And for adding the checkpoint after recording, the active screen must be enabled while recording. Okay. Once the checkpoint is added, the QTP add a checkpoint to the current row in the keyword view and add a checkpoint statement to the expert view. Or checkpoint is a verification point that compares the current value for a specified property with the expected value for the property. I'll tell you how to use it. Okay. Checkpoint are used to check your content before and after. Now how to use? I'll tell you. Checkpoint. Okay. Remember that checkpoint inserted, it's always better to insert the checkpoint in the recording mode because it is easier to mark the checkpoint. Now here you can see that all these checkpoints are enabled right now. Now first one is standard checkpoint. Standard checkpoints check the property value of an object in your application. Property value of an object in your application. Now click this. Let's see we have this. Okay. Window. I need to pass. I need to check one of the property of one of the object. Now I want to know. Okay. Now you can see here, this all property came down and I want to check one of the property. Okay. I want to check one of the property of this web object. Now what I'll do? I'll first, I'll unselect all the values and I want to check value. Okay. So here I want to check that this departing from is having a value of a couple. Okay. So to check this, what I'll use value. Okay. I want to check this value, this property value. So this can be achieved by using standard checkpoint. Okay. To check the property of any object, you use standard checkpoint. Okay. Now what I'll do? I'll change this value to Paris. Okay. You can see here that it has inserted a checkpoint statement. Weblist. In the weblist I want to check. Then check checkpoint. It means a checkpoint has inserted and where I have to check in this weblist from port. Okay. Now I'll run this. Now can anyone tell me what will be the result? We are checking only the property value. Okay. Property value of the value. Value. It will fail. Okay. It is checking. Now I'll see the result. Okay. Now you can see that it fails. Why it fails? It is saying that it has found your value need to be find as a couple go, but it has found Paris. That's why it fails. Okay. So in this way you can use the standard checkpoint. Standard checkpoint is used to check the property of any object. Is it okay? Haritha, Mangalai and Shree. Do you have any questions related to the checkpoints? Standard checkpoints? Okay. Now we'll see one another method of checkpoint. That is text checkpoint. Now wherever you want to check the any particular text, then you use text checkpoint. Now I want to check this text. Okay. Now once you click over there, then you'll get this. Check that you this, this, this. This is your text. Now I can configure it. Click on the configure button. Now you can see here red mark is the check which are, which is QTP is checking. The text which is in red color is QTP is checking. Okay. Black is the color which is used text before. This is the text before and text after. Right. Now I'll instruct QTP that I don't want all this part of text to be checked. So I text before. This is the only part which I want to check. Now you can see there in your destination, the color of this text is black. Earlier it is red. Right. So I want to check only this part of your text. Okay. With the text before is this and text after is this. Okay. Now I'll say okay. Okay. Now I'll say okay. Now I'll learn it. Let's see. Now you can see here it has added a line checkpoint from port. Oh sorry. I guess here. This is the line which is added for checking the text. Now I'll learn it. I'll comment this line. Okay. Now I'll learn it. Now we'll see the result. It is passed. Text checkpoint captured is this. It successfully matches with the string which we need to check. It is found in the application. So in this way you use your checkpoint. Text checkpoint. Okay. Now let's say I want to save this text in our data table. Okay. Okay. One more thing before to this. In the object repository, what is there? We'll see it. Once you go in the object repository, you can see here that the checkpoint is added. Okay. Checkpoint is added. This is our standard checkpoint and this is our text checkpoint. Now let's say I want to save the value whichever there's in the value. I want to save in data table. So you can parameterize as well. So it will save here. Data table, it will add it up from port value a column in the global sheet and it will store the value over here in this data table. Okay. If you want, you can configure it well wherever you want to use. Okay. Right now I'm giving the default one. Okay. Now similar way you can use it for this as well. I configured it. So whatever it will check, it will store get it will get stored into the runtime data table. In the runtime data table, you will find it into under this column under that sheet, global sheet. I'll save it and again I'll learn it. Now we'll open the test result. Okay. In the runtime data table, you can see that from value port value is entered into this and text is entered here. So we can configure this for in a data table. If you want that value in a data table, you can configure it from there or at the time of the recording that's checkpoint, you can configure that as well. Okay. So in the runtime data table, it is present. Is it clear? Mangla, Haritha, Shree. Okay. So in this way you can configure the values. Okay. Now we'll move to other checkpoint. Okay. Is that checkpoint? Okay. Standard checkpoint, text checkpoint. Text area checkpoint is same like text checkpoint. Okay. Now we'll see that bitmap checkpoint. Okay. Bitmap checkpoint checks an area of your application as a bitmap. I'll give you a demonstration that I'll then I'll go into the theory part. Okay. What I'll do, it will check the screen size and resolution of your page. Let's say we have this. Okay. Google, Google, Google Maps. Okay. I'll open Google Maps. It check the screen size and resolution of the image. Okay. Now I want to check this. Okay. I want to check this image. Insert checkpoint. Sorry, in the recording mode I have to go first. Insert checkpoint, bitmap checkpoint. Now checking Kansas. Okay. Not taking actually. It is not recognizing. Okay. Now, you can see here that it has captured your image. Okay. It has captured your all image. Now and you want to check entire bitmap. You want to check entire your image or only selected area. I'm saying that I want to select only a selected area or I'll check entire. Okay. Now what is the tolerance you can have? I don't want any tolerance. I want the same image to be tested. Insert tolerance is null. Okay. Now I'll say okay. Checkpoint timeout. Okay. Now what I'll do, I'll click on this zoom. Zoom in. Okay. I zoomed out, zoomed in. Okay. Now I want to check this page. Now can anyone tell me whether it will be fair or pass? It check the size and the bitmap, the size and the resolution of your image. Bitmap checkpoint. Check the size and pixels of your image. So, will it be pass or fail? Shree. How is that good? It's fail. It will be fail. Right. Because now the size and your pixel of the image is increased. Right. Pixel is decreased and size is increased. Right. Now you run it. Okay. Now stop it. Let's see. What is there in the result? You can see here, right. Fail. It got fail. Because I wanted to check this. This is the image which I want to search the first window. And the second one is what we are getting right now. So where you want to capture the exact pixels and size of the image then at that point you have to check the bitmap checkpoint. Where a pixel also matters. At that point you need to check the bitmap checkpoint. Is it okay Shree, Haritha and Mangala? Now we will see the another method of checkpoint is database checkpoint. Okay. For database checkpoint we don't have any database SQL or Oracle. So we will consider our database as like a Excel database. Okay. Excel is also like a database. Right. So we will take database as Excel. Okay. We have config file. Right. Okay. Now now let's say we have this file. I want to retrieve the value from this file. Okay. Then this value I want to check the value of this file. Okay. Now I'll what I'll do. I'll put I want to verify the content of this file. This is our database and I want to check. So the content of this database. For this I'll use database checkpoint. Insert checkpoint database checkpoint. Okay. Now here. Here it is saying that create query using Microsoft query or specify SQL statement manual. I'm saying that I'm specifying as SQL statement. Okay. What will be our SQL statement one moment. What will be let's say we have we have Excel right. I want the test case whose execution is marked as yes. I want the test case ID whose execution is marked as yes. So what will be the query for that? Selected test case ID. Selected test case ID from config. It is a XLSX right. It will give you a problem. Then I'll save it into XLS config one. Save it. This is a config one. Selected test case ID from config. No. Here I have to give the sheet name. In our case sheet one is the sheet name. Sheet sheet one dollar where test case where execution right. Where execution is set as yes. Where execution is marked as yes. Okay. I'll copy this query. So I'm selecting the test case ID from sheet where execution is marked as yes. So what will it it should return. What it should return. Okay. This is no control seat. So what it should return. Okay. TC one right. I'll save it and I'll close this copy this. Okay. I'm specifying a SQL statement manually. Okay. Next create. Okay. Now go to machine dsn. Under new. You have to give the user data source applies to this machine and system data source applies to all applies to this machine only system data. Okay. User dsn you need to select. Okay. And I want the driver. I want to select these all are the driver which you need to select. So in our case we are having XLS right. So we need to select XLS. Start dot XLS. This is our driver file right. If you have XS Microsoft XS driver then you need to select this. Okay. These all are the driver name for the databases. You need to select according to your database. Okay. In our case it will be a XLS right. So we need to select start dot XLS. Next finish. Okay. Now give the dsn name. Any name you can give. XLS database. Okay. Now you need to select that workbook from where you want to retrieve the data. In our case it is in G QTP scripts. It is G it is under where it is located. G QTP PPD under right. QTP PPD under this training. Now you can see here we have our file config one word dot XLS. Select this and click on okay. Okay. Now it is coming. It is showing XLS database. Okay. Click on okay. Okay. Now specify here. Now this is your connection string. This connection string is used by QTP to connect with our XLS. QTP to connect QTP with the XLS. This string connection string is used. Okay. Now I will specify the SQL statement. This is my SQL statement. Okay. Now I am finished. Now you can see here that it is returning some value. Right. Okay. And I will pass as a in this global sheet. Now this will be your database checkpoint. So in this way you need to create your database checkpoint. I will run this. Now you see the result verification type. Okay. TC1 is checked and it is found in the XLS sheet. So in this way you can use the database checkpoint. And in the runtime data table we will get the you can see here. It has written this value TC1. Is it clear to everyone? Mangalashree. Okay. So in this way we use a database checkpoint. Okay. Now XML checkpoint is used to check the content of our XML file. Okay. So these are some important checkpoints which we use in our QTP. Okay. Now we will see the output checkpoint. Output value checkpoint. Okay. We will take a 10 minute break. Then we will continue with our check output checkpoint. Okay. Is it okay? Haritha, Mangalashree. We will take a 10 minute break. Okay. Okay. So I am stopping here. We will meet after 10 minutes. Is all are back. She, Haritha, Mangalashree. Please type in the chat window if you are there. She, Haritha, will wait. Mangalashree will wait for a minute. Then we will start. Mangalashree, I have unmuted you. Yeah. I have unmuted you. You can speak. Mangalashree, if you want you can speak. Hi, Mangalashree. Hello. Hi, Smith. Hi, Mangalashree. How are you? Yeah, I am fine. How are you? I am good. I am good. Yeah, thank you. Yeah. Actually the live project which you gave in the last week, I did that part. I did, but I am having few doubts like if till what I have done, am I on the right path or not. Okay. So I have pasted the screenshots of the work done by me. Okay. I do one thing. Do one thing, Mangalashree. Yeah. After the, after we complete the session, you will wait there and I will clear all your queries and I will give you control of my screen. So you can share your screen then we will see accordingly and we will give the resolution of the same if you want. Right? If you want any suggestion or any feedback, I will provide you the same over there only. Okay. Sure. Sure. Actually, all the screenshots are captured and send it to you. You can review that one as well while after the session. Okay. Okay. Okay. Okay. Okay. Okay. Okay. I will do that. I will do that. Okay. Okay. Any questions you have? Any subject? Yes. And yes, while regarding the dictionary objects thing, while I was trying to execute in my system, it was coming as scripting dictionary given, right? Yeah. What? Scripting dictionary. Scripting dot dictionary I guess. Yes. There I am getting actually error. What kind of error? You show me that after the session, I will. Yeah. Sure. Okay. Okay. Fine. Or anything else apart from this? Yeah. Only these things regarding the live project and the dictionary. Yeah. We'll do it once our session is over, then we'll do, we'll resolve the problem of yours. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Thank you. Thank you. Halita Shri, you are back. Please type in the chat window if you are with me. Now, we'll move to our next part that is output value. It's not output checkpoint, it's an output value. Okay. So what is output value? Out using output value, we can retrieve properties of object, database field values, text presenting objects and can store on data table and test result window. That means output value is used to retrieve the value. Okay. Retrieve the property value or database value or text, like we use the checkpoint, right? Checkpoint is used to check, right? It is used to check your actual value, your expected value with the actual value. But here you can retrieve your value which are there for the object, database or text. Okay. We'll see one by one, then you will get to know more about this. Okay. Now, go to insert, sorry, first you need to record, right? Insert output value. Output means it is giving you output something. Okay. Output, standard output value. Okay. Now, I want the value of this web list. Okay. From day. Now, what all the values you want, I want this value. I want the item count. Item count means the number of value it contains. Right now, it is containing 31, right? It will give me 31. Item count means all the items. It is one item, second, third, fourth. So this is 31 items are there, right? So it is giving me an item count. I want this item count. Okay. And configure value, output value type, data table. It will store under this column and the sheet will be this. If you want, you can modify as well. Now, I want the column name should be this. So you can see here that it has inserted a column. But this column is not entered into your data table. Okay. It is entered into your runtime data table. Okay. Globalsheet. Okay. Okay. It is using this column. It is saying. So I can use, I want to give the name of the column first. First, I will provide some name of the column. Now, from date. Okay. Now, insert, sorry, standard output value, output value, standard output value, this, we have list from date, item count I want, modify it. You can see here, from date column is there. And I will select this value. Click on. Okay. Yes. Okay. Okay. Now, if you are thinking that in this design time data table, the value will get stored. It will not. It will store in which table, Sri Haritha, Mangala, any idea in which table it will get stored, this value, item count, this is a design time data table, right? We have one more type of data table. What it is called? Right, Sri, runtime data table. So this value, it will fetch the value from there and it will store the value at the runtime data table only. Remember this thing, that all the operation which you perform while doing, while doing the output value, it will get stored only at in runtime data table. It will not store under design time data table. Okay. This is a thumb rule, which you need to plan. Okay. This thumb rule for output value, all the value will get stored under runtime data table. Now run it. Sorry, we stop, need to stop recording. No, stop. Okay. Now, I will see in runtime data table. You can see here that 31 get stored under runtime data table and in the design table, we don't have anything value. We don't have any value there. You can see here, we don't have any value. Okay. So this is all about standard output value. Now, I will see in the same way we use text output value. Okay. Record. It is same like checkpoints, which we have done, like same. Okay. Text output value. Insert output. Text output. This text. I want to now can modify as well. Okay. In the same way. Now, it is telling you that in this column, it will get, your output will be stored. Click on okay. Now run it. So this is your checkpoint. Okay. Output. It is output checkpoint. Now run it. Let's see the result. Here, we have in the data table. Right. This, you got your text. Right. So in this way, it is almost same like we used in the checkpoint. But the difference is you will get the output here. In the, using output value, you will get the output from the checkpoints. But in the standard, in the checkpoints, we used, we used checkpoint to see the actual value with the expected value. So this is the only difference we have with output value and the checkpoint. And all the things are same, which we used in the checkpoints. Right. So in a similar way, you have to do it for database output value. Okay. Any questions related to output value? Okay. Mangala, Sri, Haritha. In the same way, we can use for output value like we use for checkpoint. Okay. In output value, you will get the output. And in the checkpoint, you are verifying something from your expected result. Actual and expected is checked here in the checkpoints. In the output value, you will get the output value from your checkpoint and it will get stored under your runtime data table. Okay. Any questions related to checkpoints and output? Sri, Haritha. Now, we'll move to our next topic. That is Excel connection code. Just some tips I wanted to give you regarding the automation. Generally, in automation, we used for database, for database for storing our test data. We generally use Excel. So it is very necessary that how we can connect, it is very necessary to understand how we can connect the QTP to the Excel. Okay. I have done near about n numbers of project, near about 60, 70 projects I have done in QTP and in most of them, we have used Excel as a database where we stored our test data. So I think it is very important as an automation engineer to learn how to connect with your Excel. Okay. So in this part, we'll get to know how to connect with Excel and how can we retrieve the data from the Excel. Okay. We'll not use any checkpoints here. We'll use directly connection with an Excel and we'll retrieve the data from the Excel. Now understand the code of it. What is there in the Excel connection code? Okay. So this is our code for connecting with Excel. Okay. Okay. Now let's say I want to connect with this Excel. GQTP script side under database. Now I want to connect with this Excel and I want to retrieve some data from this Excel from this sheet. Okay. Now how you can do it? First, what do you do? First, store this path config file.excelestil config file.excelest into a variable. Okay. Now to connect with any database. Okay. To connect with any database, you need to create the object of it first. So two objects need to be defined for connecting the any database. First, your record set and second is for connection. Now the first one, here we are using ADODB, ActiveX Data Object Database. Okay. ADODB means this is one of the database which we are using to connect for an Excel. Okay. ADODB.recordset. Okay. And this is for record set. Okay. And this is for ADODB.connection. It should be passed under double course. Okay. So I have created two objects. Object ADO for ADODB record set and object con for ADODB.connection. Okay. Now I have to define both these objects. Okay. First, I'll define this object connection. Object connection means connection with your Excel. Okay. How to connect with your Excel with QTP? So QTP needs some connection with your Excel. So we need to define this. To define this, what parameter we need to provide, we need to provide is provider. Okay. With object con, you can write like this as well. Object con dot provider. You can write in this way as well. If you are not using end width, if you want, you can write in this way as well or if you want to use with the statement, you need to uncomment this with object con dot provider, object con dot connection string, object con dot open. So this is the way we use with the statement. Okay. Sorry. So object con first parameter we need to define as provider. Provider is default as m h d a square. Okay. Now the second thing which you need to provide with the connection is your connection string. Connection string we have seen driver, Microsoft Excel driver, start dot excel s, dbq equal to your path of your excel which you want to connect it and you can only read it because read only is equal to true. Okay. And then you want to open this connection. Now by defining these three parameters, you are done with your object connection. Okay. Object connection is used to connect your QTP with your excel sheet. Now you are connected, but you want to retrieve some data, right? You want to hit some query to your database and you want to retrieve it. So to for this, we use a record set, right? adodb dot record set to get data, to get data and what it do this object ado, what it will do? It will retrieve some data and it will store under a temporary file or temporary memory which is called as record set table. It will store under adodb dot record set data table. It is a temporary table where it will store your object which are fetched adodb object is a temporary file or table where it store the temporary result which are retrieved during the execution of this query. This query will return something, right? It will store under this record set table which is a temporary table and from there we need to retrieve the values. Okay. So to achieve this object ado dot open, we are firing the query, right? First we need to open the record set object ado dot open, then we are firing the query. Sorry. We are firing this query and then we are passing this connection that on this connection you need to fire this query. Okay. And this is add open static and add lock optimistic. I will come this afterwards on this open static and lock optimistic. These are two parameters you need to pass. So you need to fire the query with connection without add open static and add lock optimistic. These all need parameter need to pass under this object ado. So what we have done? We have first created the object for the adodb record set and then we have created the object for the adodb dot connection. Then we have defined this object, defined this connection. Okay. We have defined this connection. Then we have defined this record set and then we will perform the operation. Now under object ado, whatever the query you have executed, this is the query, right? Whatever the query you have executed, it will get under it will get stored under this object, object ado. Okay. Now I want the count, the number of count which get stored under this object and I am storing under this record variable and I am popping up in this message box. I will run this then you will get to know. Okay. I will put this command control. Now we will see first that what we have in cone spec file. What our query says? Our query says, select test case id, select test case id where from sheet one dollar, from sheet one, where execution is equal to yes, where execution is yes. So, what it will return? Sree Haritha. What it will return? It will return login tc4 and tc10 and our record count will be three, right? Three objects record. It will stored under this object and we are taking the record count of this object. It will stored under rec and rec will give you three. Now I will run it. Before running it, you need to close this excel. Now you can see here in the object connection what we have. There are all things we have in object ado, right? We have object ado, object ado, in object ado. You can see here it has given us three. Okay. The count is three because in the cone spec file, three test cases are marked as yes, login, this test case four and test case ten. Three, right? What if I mark this as also yes? It should return as four, right? Any queries related to this till now, Sree Haritha Mangala, it is very important to you to understand this code because it is very frequently asked question in the interview. How to connect with that database? How to connect with the excel? How to retrieve the value from that, from your excel? Haritha, you have to buy hard this code. You have to just not to remember you have to just buy hard it. Whenever anyone can tell you about this excel, you can write, even write it, right? Haritha, you have any questions related to this till now, related to the excel connection? Mangala, I know it is little difficult to understand but you will, once you will see it, then you will get to know that what we are doing here, what we are exactly doing here. Sree, okay, what I will do? Haritha, I am putting you in un-mute mode, okay? Yeah, yeah, tell me if you have anything because it is very important to you guys to understand this part of code, okay? Any doubts? Any doubts you have related to this code? You just write down this code. I will pass this code to you guys as well and try it, try it at home, okay? Mangala, I am putting you in un-mute mode, you have anything? No. No, okay. Hello. Yeah, yeah, yeah, okay, okay. Sree, what about you? Are you okay with it? Yeah, I am good, I got the ideas, I will try it out this week. Yeah, right. I will tell you how to retrieve the value and how to manipulate with this data. Till now, this is only the part of connection and your record set. Record set, remember one thing, record set is a temporary table on which whatever the query will fire, it will get saved under your record set and this is that code which we use to, for the connection, okay? You have to write it same as it is for the Excel thing. If it is an Excel driver, if it is an Excel, then you have to write Microsoft Excel driver star dot mdb, that's it, okay? Now, now I wanted to, I have taken the count of it, okay? Now, I wanted to know what all values are there. I have count, right? While objadio is our object where all the values get stored, okay? Adio dot end of file till it end is not equal to true till it is having some value, till the time this object is having some value, you need to run this thing. What I want to run is objadio dot fields i equal to i plus 1, i equal to 0, okay? Now, run it, then you will get to know. 4, 4, 4, our query has written the 4 test case id which is marked as yes, no, end of file, this object end of file, okay? i is your wrong number of argument, stop. Okay, okay, I get to know. I need to put 0 objadio dot move next, okay? I will run it, point to message box login, right? Test case 2, test case 4, test case 10, okay? So, in this way you can retrieve the value, okay? So, here we have fields is used to retrieve the value from your record set, okay? It will return your record set, the value from the record set, fields is used to retrieve the data from your record set object, okay? And what we are doing here, we are moving next or it, first it will point to login, then it will, then once it will execute this line of statement, then it will go to your next record set, that is our test case 2, then again next, test case 6, again test case 10, in this way it will work, okay? Any questions till now? Haritha, Shree, Mangla, any questions? I will give you this quote, don't worry, I will give you this quote, okay? But make sure that your syntax is correct, else it will give you a error which you cannot understand where it is giving you. So, please be cautious while writing this quote, okay? Open static and lock static, Haritha, I will tell you what it is, object, comma, now you can see here, add open static, here nothing is there, I will tell you, add open static is used to for writing, writes, as a writing means when the connection has been established, okay? If you want to access this from outside, if you want to access this XLS or you want to open it, it will not get open because it get locked, okay? Locked and you cannot read and write into it, so by passing these two parameters, we are ensuring that once QTP is operating, once QTP is connecting with this XLS, no one can do any operations on our XLS which is locked by QTP. So, we are locking this and read write permission is there. So, for this we are passing add open static and add lock optimistics for read write, reading and writing and for locking it, Haritha is it okay? You need to pass as a parameter as three, just constant three, this make sure that it will read and write and this will make sure that it will be locked, okay? Now, this is the code which we used for connecting the data to connect in the XLS, okay? Now, three is the name which will tell you that read write, there is a constant value which you need to pass it, three, okay? For read write you need to pass three, okay? Now, we are done with the Excel connection code, okay? Now, we will see the automation object model, okay? Automation object model is nothing but it is a collection of object, method and property which are used to perform quick test operation, okay? So, it is just a concept which is used to automate QTP itself, like we have talked, right? We have talked about the wrapper code thing where QTP will open automatically, right? Where QTP will open automatically and it will open the test case marked in that compact file. So, that all the things we will achieve by automation object model. So, automation model is just a concept which are used to automate QTP itself. We use this model, okay? So, it is we will use the some collection of objects which are supported by the automation object models, object methods and properties of it. So, to automate QTP itself, I will give you a demo then you will get to know more about this, okay? Now, before this going into this, now in the config file you can take out the test cases, right? Which we have talked for our automation live project. So, now the config file is also done, right? Is it okay, Haritha? Now, you can do the control file how you will you will take out the test case ID which has marked as yes, you can get the number as well, right? You can write the code for the config file, right? Haritha, Mangala, Sree, are you able to do this, okay? Because we right now we know that how can we can take out the value from the XLS, right? So, this part is also done for our live project, right? Test case file, this all already I have told you about this thing. Now, startup code that is wrapper code where QTP will automatically open and and it will read the file, test case file, config file and from the config file it will open the test in QTP. That part will achieve with the help of automation object model, okay? This part startup code, wrapper code. Now, how to do it? Now, I tell you I will comment this part of code first. For doing this, what you need to do? We have a object supported for this QTP that is quicktest.application, okay? You need to write quicktest.application, you need to create the object for this quicktest.application and we are setting into under a variable called QTP app, okay? Now, QTP app.launch, it will launch your QTP, okay? QTP app.visible, it will visible means it will be displayed into your screen to visible. I am marking as true, okay? This, what I will do? I will only run this part of code. So, for doing this, what do you need to do? Do save it, okay? And close this. Now, create a notepad wrapper code. In the txt, change it to VBS for creating the VBS file. Yes. Now, it is a VBS file. Right click under this and edit. Now, write this code. What you need to write? Set QTP app equal to create object dot create object quicktest.application in the double codes, okay? Then QTP app dot visible dot app dot activate. First, I will activate it and then I will make it visible dot visible equal to true and save it. I will close this. This is automation object model, which is used to automate QTP itself with the help of some method property and operations, okay? Where it is? R file is now. Now, R QTP is closed. Now, I will open it, right? Click double click this file, okay? What it is saying? Object doesn't support this method or this is the activator, okay? Now, QTP is opening. You can see here that your QTP is open. We are getting this error. We will see here, okay? But at least it is opening that your QTP. Is it okay? Shree, Haritha, Mangla, to how to create your wrapper code? Now, in the wrapper code again, the next thing we want to do is we want to open our test, right? Now, next thing we want to open the test, which is marked as yes, right? In the config file. We want to open this test case, right? Test case one, marked as yes. And let's say we have another test case, which is marked as yes, okay? Launch, launch is there, okay? Now, it will launch. Now, it is open, okay? Now, I want to run my test case, which is marked as yes, right? So, I want to run it. So, for this, I need to run QTP test dot run. Sorry, sorry, sorry. Now, I want to open, right? First, now I open my QTP. Now, I want to open my test for doing this. What I need to do? QTP app dot open, okay? Now, I need to open which all test cases, which are there in G colon script, sumit scripts, okay? And what is F2? F2 is the name of the test case, which I want to execute, okay? So, how will I do it? I will change to F2. Now, tell me what this F2 will contain? Mangla, Haritha and Shree. What this code will return? Yes, message box F2. What it will be there? Okay. What will be there in F2? Yeah, Haritha, I am changing it. What will be there in F2? What this code will return me? What this code will return me? Haritha, why it will return 2? I have used fields, right? Shree, what fields will do? Field will, what it will return? Mangla, guys, wake up. It's a wake up call for you. Yes, it will return. I am selecting the test case ID, right? And yes, it will be written TC1. Then what else? First it will return TC1, then TC5, then nothing, right? So, in F2, first it will stored as TC1 and TC1 is a, sorry, TC1 is a, now I will change it to login flight booking, okay, so that we can understand. Now it will return login and flight booking. Now this is my test case name, right? And what is the path where we are opening? We have this path, right? We will go under this path, see what all there, what is all is there? Okay, these all are tests, all are QTP scripts, right? Now we have a login. See that name is same, right? Login, which is there in the test case ID, login. Second is flight booking. Flight booking we have, flight booking, don't have flight booking, right? What I will do? I will open some other function. Let's say I will open, I will open dictionary update, okay? Or I will create one, like login, right? Login, we have Ctrl C, Ctrl V, these are all QTP scripts, right? Flight booking, right? Okay. Now I will give the same name to this as well, flight booking, flight booking, okay? Now save it. Now what will be stored under F2? Tell me. First what will, first, first it will store the login and where it is, login is under this path, right? So G, colon, script, slash, submit script, slash, login. It will, QTP will open your test login first, okay? And to run this, you can even write like this. To run this, QTP app.test.run to run your script. This line you need to write it, okay? And now we will run it. From where we have to run this. I will copy this part of code and I will paste into our wrapper code, code, right? I did, okay? Now I will run it. I will close this. Now it is written the count, right? Count is in our case is 4. Why it is 4? I don't know. I have to see. We will see, okay? Login, for login, okay? Test case name is the login. Now QTP is opening. Now it has opened the login. Now it is running, okay? Did you get it? Guys, what it is doing here? It is open, right? Message box. We have created one more function, right? Flight booking, file, open, test. And I will close this QTP as well. Now again we will run it. Let's see. And we have config file, right? Config is stored under, where it is stored, my computer, G, QTP scripts, database, right? Under this config, okay? It is giving poor why? Because we have marked 4 test cases as yes, right? Login. Oh, we haven't changed here. We are seeing another file. We are doing a manipulation on another file. Login and file booking. Two test cases which are, first one is login. Now it will open your first test case. And it will run. And it will give you a message box as a login. You can see here. It has opened the test case. You can see here in the title bar. G scripts, submit scripts, login has been opened, okay? And in the login script, we have message box called login. Now, okay? We are getting some error, okay? In the same way, it will open with a flight booking. Now you will see what the error is coming out, okay? Did you get it? Mangala, Charita, Sri, what we are doing here? Any single questions or, I know it is very new to you guys. It takes time to understand. Go through the code once again and I'll share with you all the code. Go through the code. If you have any single point of doubt, you just email me or you can ask in the next session. Is it okay, Mangala? Is it okay, Sri? Okay. We'll see what the error we are getting, okay? I'll paste this new code. Oh, sorry. I've executed the QTP test. Equal to run this code. Okay. Log in. Now it will open the QTP. It will open the test. Log in. Okay. I'll see this error while it is giving me. Then again, it will take your next test case. That is, in our case, it will be flight booking. And then again, it will open the flight booking and it will run the test case. So in this way, our live project will work, right? In the wrapper code, it will read the files. It will read the test cases which is marked as execution flag as yes. Then it will read it. Then it will open in QTP and it will run all the test cases which are marked in the contract file. Is it okay, Mangala? Sri? I'll give you the code which will run for all this thing, the automation object models thing. Okay. And I'll share as well the code of this as well for connecting the Excel and the automation object model. So the automation object model is just a model which is used to automate QTP itself with the help of their methods and the properties. We can automate QTP. Okay. There are many more methods and properties are also there with the automation object model which you can use. So this is one of them which we have used just now for our wrapper code. Is it okay, Mangala? Sri? Any doubts related to this checkpoint, output checkpoint or Excel connection code and automation object model? Any questions? Okay. I know guys this Excel connection code and automation object model is very new for you. Just go through the code. If you have any question or any doubts, you can inquire query me or you can email the query to me or so that I can get give you the solution of the same or I can able to help you more on this part. Okay. You just need to just need to learn it and you just need to understand this part of code because it is very important to understand and which is very frequently used in projects. Okay. If you have any questions, you can come up with your questions. I try to resolve it. Okay. Haritha, do you have any questions or anything which you want to clear it? Okay. Sri, I think Haritha and Mangala is having some questions. If you want, you can end up with the session because we are ending up once I will clear all the doubts of Mangala and Haritha. I will close the session because we are done with the topic which we need to cover today. We are done with all the topics. Is it okay, Sri? Okay, Sri. Okay. We will meet you tomorrow, Sri. Okay. Now, Haritha, do you have anything? Haritha, I have unmuted you. Just ask your questions. Right now I don't have any, sir. Okay. You don't have any questions? No, sir. I will go through it and I will get back to you if I get any doubts. Yeah, yeah. And I have emailed the problem which we are facing last session. Yeah, yeah, yeah. I got it, sir. I need to try it, sir, once. Yeah. I have emailed you as well. Okay. Yes, sir. I got it, sir. Okay. And one more thing, Haritha and Mangala, please give us the feedback which is sent by this Vijay to you. I think you got the email right of Vijay. When, sir? I think almost 10 or 15 days back, you get an email regarding the feedback of our session. Okay. Okay. Okay. Mangala and Haritha, please fill this form and just give us some feedback. Okay, sir. Sure. Okay. Okay. Haritha, you can leave if you want. Okay, sir. Okay. We will see you in the next class. Okay. Yeah, Mangala. Okay. Thank you, sir. Okay. Yeah. Hello. Yeah, Mangala. Yeah. Yeah. Hi, Sumit. Yeah, regarding the project which you given as an assignment was me. Yeah, cheers. I'll give, I'm giving you a control to you. Now you can share me your screen. Okay. Just a moment. I'm giving you a control. Sure. Okay. One minute. I will show the screenshots which are captured so that I can show, step by step, show my screen. You got the control? You are able, okay. You are able to see my screen? Right. Now, no. Once. Now? Now, yes. It's email is open, right? Yes. In that, from that screenshots, I will show my queries. Okay. Okay. I know, Haritha, I know, Mangala, the code which we have, the topic which we have covered is little difficult to understand. I know this thing, right? Yes, until we practice, we will not get it. Right. That's why I told you that you need to practice more. Then you will be able to find it, then what is the problem, what is the object, what is the method, what all other methods which you can use with that. Right. Right. Right. Okay. Yeah. So this, this that I got by using the dictionary objects, it is coming as an active component. Can you, can you open your this test script? Sure. Sure. And run it because I am not able to see the other method. Okay. Dictionary, dictionary object. Okay. Open it. Open your test script. Yeah. Sure. How to renew the license for it because after 15 minutes, you will get it. You need to format your machine and then you need to reinstall this. Okay. We need to format it. Yes, yes. There is no other option. Okay. So we prepare for this. Take the backup of all of your softwares and all the things and format it. Okay. Means we cannot buy this software. It's very expensive. You cannot buy it. You cannot buy it. Okay. We got the license of 10 users and 35 X. Oh my God. So this is much cost. We cannot bear it, right? So we have, it's better to format it. Okay. Every time before it gets going faster, we have to format it. Yes, yes. Okay. You open. Mangal, where are you currently based? I'm in Hyderabad. Okay. Working in TCS. Okay. Yeah. Working in TCS. So you are getting one new assignment in QTP or what? Actually, I want to go to automation testing. Right now, I'm doing only manual testing. Okay. So I want to shift to automation testing. So how you will do it? Is you are getting the option? Actually, after I get the knowledge of this thing, I can move internally within my TCS only to any automation with QTP-related project. But Mangal, for that, you need to do practice more. Yeah. Okay. Once you get the, no, it's just a matter of time. You just invest some time, dedicatedly give some time to QTP. You just invest one hour daily to QTP. Yes. I'm sure that in a month, you'll get good confidence that I know QTP and I can work on it. Yes. Yes. Whatever you do, take one topic only. In a day, in a single day, take only one topic and do the R&D work with this intention you do. This one hour, I'll dedicate to R&D in QTP. Do the R&D work. That's it. Nothing. You just need to do the R&D. That's it. Doing R&D, you'll get to know what is there and what all our things are there, which we can use. Yes. Yes. Whatever the topics which I have covered, that is very crucial and very good topics which I have covered in my training. Yes. Yes. We shall be used in live dance. Right. Because right now, we are doing near about, I have to do, just now I told you, right? Are you there in the session or not? When I told you, I have to do automation of 50 application automation. 50 application, I have to automate. Okay. In your current project? Right. And each application is having their own platform. It is a client server, it is a database or it is like something. And means once you learn QTP, then you have the options to deal with any problem, right? You will get to know that what is there. If you are dealing with this kind of application, then what all the logics will be used, right? But before that, before that you need to build your concept and your logic, right? If you don't have logic and concept, then what you will implement till the time you don't have any logic or any hands-on experience in QTP, you cannot implement it, right? Yes. Yes. So whatever or do one thing, whenever you get some kind of code, just read it. What they have used, what they have used and how they have used. So you will get an idea that how can we use in our scripts, right? Yes. Okay. Okay. Yeah, tell me. Now you are first training itself is wrong. So it will create object scripting.dictionary, it is. Actually, no, no, no. I tried with that also. It was not coming. So I changed that scripting.dictionary. Yes. Yeah, scripting.dictionary controls. Okay. Oh my God. I think I did not put the dot thing. That is a problem. Okay. And what else? So first one. Yeah. And remaining things regarding my live project. Yes. Do this live project and I will assure you that you can crack any interview of having one-year experience, means whoever is requiring a person who is having a one-year experience of QTP. Yes. Once you do all the assignments which I have given to you all guys, if you do this, you can crack the interview of one-year experience in QTP. Kind of. Yes, I was planning that to put one-year experience. Yeah, yeah, yeah. But I cannot, but don't put more than that. Okay. Yes, yes. Okay. Yes, because after that we will get only through experience. I have invested seven years in this QTP only. Then I got this kind of knowledge only. Yeah, tell me. Yeah. So this is the framework means all this, combatingly will call us the framework. Right, right. This is all framework is nothing just like guideline or concept. Our guideline we are following, we are following a folder structure, right? In where we have an action file, data file, okay. So yeah, in the config file thing, I have created this six test cases. Okay. For which I have put the flag as yes. Okay. And in the same excel sheet, in the sheet two, you ask to put the object repository part, right? Right, right. Yeah. So we have to paste that path entirely. Right. Okay, fine. From where do I take the, now the question comes, now you have this object repository, right? Shared object repository, right? Yes, yes. Now you have to pass this in QTP. How you will pass it? Yes. We have to pass the shared object, through the wrapper code. Through the wrapper code, do one thing. What do you have to do? What do you do? Just import this data sheet, import this data sheet. Okay. And take out this value and store this value, this path value. C code slash slash, first import this sheet and store it into one variable. Okay. And then, then, then associate. Okay, do one thing. Okay. Don't do this part of code, because in the, I guess in the next class, I'll, I'll tell you how to associate your object repository at runtime. I will leave, I will leave till that point. Okay. You just associate the repository manually. Okay, fine. At the time, you just manually insert a path in the associated repository. Okay. Okay, fine. Okay. In the object repository folder thing, I have created the shared object repository for all these four actions. No, you have to create one, I told you, right? Okay, only one way to keep. Yeah, yes. One app, you have to. Okay, actually, means all the four actions, only one shared object. Yes. How you, how you will create it? Actually, when I was trying to create separately for each one. No, you have to create a, you need to combine all these four repository into one. Then, how you will do this? Can, after creating these four, can we link this and create it to one? No, no, no, you cannot create, you have to merge all them, all of them. Okay, okay. Now, how you will merge it? I have told you, right, how to merge this object repository, remember? No, through the object repository window. Right, right, right. All right. In object repository manager, we have tools, object, object repository merge, we have, right, right. Go back to that session and see it. Then, you come to know the how to merge it. You need to merge all the, no need to create anything, just merge all these things into single one. Okay, object repository manager using the merge one. Right. Do one thing, create it right now. Go to tools. That's better. Go to tools. First, what do you do? Primary file. First, save this object with the blank, you save it. Okay, save it first. This blank one. Cancel it. Okay. File. File. Go to file. Save it. Okay, nothing is there. Yes. Okay, do one thing. Add any object. Okay. Add any single object. Here. Yes. Where is that button? Okay, do one thing. Okay, okay. Open one of your local object repository. Do one thing. Open one of your local, open your local, local object repository, I'm saying. Okay, I will close this one. Yeah. You have multiple options of creating that. I'll show you one. Okay. Okay, sure. Actually, I have created the one second local object repository is how you will open it. First, you need to open that action. Then it will open. Okay, login. And remember, Mangala, we have only three weeks left with two or three weeks. So, and I want to ensure that each of one of you guys complete your this project. Okay. Yes. We don't want to be like the another, like another QTP training classes, which do, they do the live project at the very end. And then the people are having the query, they cannot resolve it. They email just them to resolve it. They do not take any representation, right? Yes. Yes. So, I don't want that things to be in my classes, right? So, that's why I have initiated. So, parallely only we will. Right. I want to be parallely finished. Yes. So, we have two or three weeks, right? So, make sure that before that you complete all your assignments. Sure. Sure. Okay. After opening this login action and opening the object repository, right? Here I have link. Here I have. Go to file. No, no, no, no. No. Go to file. Export local objects will be there. Actually, these got disabled after I created the shared object repository, after I associated with the shared object repository. Okay. So, remove it from there. Remove it from there where you have associated. Okay. How to do that You have to go in associated repository. Go to under associated repository. Okay. I have to delete this one. No, no, no, no need to delete it. Go under associated repository. Delete here. Yeah, this is the delete here. Delete. Delete it. Okay. Okay. You can one second. You can add all your object, local object repository here as well. But this is not the correct way to do it. Okay. Okay. So, go on. Now, go in. Go open your local object repository. Okay. Now, yeah, it will be open now. No, it is not coming. After deleting this one, I am not getting again the local object repository. Okay. See, this is not disabled. Shared object repository. Each action is having own there. Yes. Yes. So, each action is having, is a shared object repository. Yeah, each one is actually first created them. Okay. Go to tools. Now, now I got to know. Okay. Go to tools. Okay. Object repository tools. Where we are managing manager and the manager. Okay. Tools. Tools. Object merge tool. Yes. Okay. Okay. And now open it. Okay. Now, give the path of first file and second file. Your local object. Your shared object repository. Okay. Shared object repository path I have to give now. Right. Shared object repository. Okay. These are the shared object repository. So, only shared object repository will be here. Here can be merged. So, first you need, if it is a local object repository, then first you need to convert it into a shared object repository. Then only you can merge it. Okay. It is converted. These are all the shared object repositories. Right. Right. So, select path. So, log in. Okay. Log in. Open. Okay. Open. One, one you have to select. You have to select both of them in a single time. No, only one I have selected. And second file. Second file, select it. Flight. Okay. Any file you want to merge it. Okay. Okay. Open. Okay. Okay. Now, okay. So, like this, it reminds you how to merge it. Yeah, just a moment. Now, object repository are there in a single object repository. Now, save it. Now, save. Save. Now, this will be your master object repository for the two actions. Right. Okay. In the same object repository folder, I am saving it as master object repository. Is it fine? Yes. Yes. Save. Save. Now, save it. Now, again, merge it. Okay. Tools. Tools. Now, the two object repositories are having all the objects in a single object repository. That is a master. Master. Right. Okay. In settings. No. No. Not in setting. Okay. Shall I close this? Yes. Yes. Okay. Tools. Object with merge tool. And remaining two also I have to merge it. Right. Into the master one. Okay. Log in and flight booking done. So, log up. Do one thing. Now, this time, take log out the other two, which you need to merge. Yes. Yes. The remaining two. Okay. Done. Now, save it. Now, give the name as master one. The same thing. Now, give the name as master one. Now. One I have to switch. Master one. Right. No. The different. Yeah. The different file name I have to give now. Yes. Yes. That's why master one. Okay. Means currently, there are two shared object repositories. Right. Master one and master over one. Okay. Now, we will merge master one and master. Okay. Now, it will give you this one. Okay. Object repository merged two. So, it became one. Now. Okay. Now, save it as. Okay. Close. Now. Close. Save. Save it with the name. Give the name you wanted to do. Master. This will master master. Right. Yes. Okay. Okay. So, now this one is having all the four actions, objects both. Right. Now, this is your shared object repository, which can you can use across the application of your mercury web application. And now, whenever you want to add any object, you need to add object in this only. Okay. Shared object, master, master object. Now, if you want to add it, any object. Now, if you want to use it under different action, you have to associate this object repository. Okay. Fine. And one more thing, Smith, actually, you said in the thing that when passing the values use the data table parameterization. So, wherever username or these things are coming, I have used the data table. Here, you can say action one. Right. So, like that, I have used it for all the four things. Right. Yeah. Let me show the screen. This one is completed. Flight booking. Yeah. In this login one, only till login I have selected in flight booking, I got out whether to select only the flight booking part only or from right. No, why we need to pass the login thing? We are doing flight booking. Okay. Each function should be independent. In that way, you have to write your code. Okay. Wherever you want to call it, I can call it. Step by step. All right. Step by step. Live. Okay. So, now if I will. There should be no dependency between different action. If I am using login, I can use it. There will be no part of flight booking. Okay. So, now if I will change this flight booking part, it will be automatically the changes will be affected in the shared object repository as well. Right. No, if you are deleting, right, you will delete some part of code. Right. Yes. If you want to delete, no, it will not delete automatically. Okay. If you delete the line, the object will be present there. No need to worry. It will not harm you. Okay. So, I can delete it. Okay. You can delete it. You can delete it. Okay. So, logout only logout part is there and profile create action only profit. Yes. And in the main script you have given, right? In the main script, I have used the call to action call to existing action you have to use. Yes. One second. Let me maximize it. Yeah. Are you able to see this one? Yeah. Can you maximize it? Can you maximize it? Is it okay? Yeah. In the main script one folder I have created, main script test. In that one, I have called all this login flight booking logout propagation. Right. So, is it correct? Yes. It is correct. It is very good. Okay. In this way, only I want all to be done. Okay. So, till week three, I have done. So, today whatever you told, I have to implement the same thing. Oh, I have missed the assignment actually. Yeah. I have seen that one. In the assignment thing, you ask it to implement the checkpoints thing. Right. So, wherever possible, wherever applicable, implement the checkpoints and output checkpoints for live project and expected result. Okay. Means like this for example, we say login, let's take for an example. So, login, we have to check if it is passing the value correctly or not. Yes. Yes. Everything you need to check. We can apply. I have, in the test cases I have mentioned there, what you need to check for this test case. Okay. Fine. I have written all the expected test cases, right? Okay. Yes. Yes. You all need to check that thing. Okay. Okay. Fine. And last out, actually, the links thing, there is one test case to count the number of links. So, in these actions only, we have to write that code or in the main wrapper. No, no. In the wrapper, it will not be there. Right. Rapper is just for initializing and opening. Right. Okay. Only initialization. Okay. It will be a separate action. You create a separate action for counting the number of links. Okay. Separate action. Okay. We have to name it. I have given a separate test case. Right. So, it will be a separate action. Okay. Like counting links. Yeah. Yeah. Yeah. Yeah. Okay. And put that code in that thing. Yes. Counting that from which page we have to count. Yes. Okay. Okay. Till now, it is fine, right? Right. Right. After that, we will. Yes, Sumit, actually, I want to do certification also. So, I will get support how to do the certification as well. Yeah. I will give you a support. Don't worry about it. But my recommendation is after practicing for two to three months, you will go for the certification. And I will provide you the information for that as well. In the Google itself, you can find out what all the institutes which do this course, which offer this course, which offer the certifications. There are n numbers of institutes which you can find it into the Google. And there you have to go and pay the fees and they will give you the certain dates. On that date, you have to go there and do the, and get need to give the test. Like a prometric test, right? Right. Right. Right. Right. smoother. You have to go there, and then they will give you a certain ID and password. Then you have to log into it. And then your tests will be started. And once you are done with that, which one is you are done with that test, then it will give you that how much you have have scored and whether you have passed or failed then at that time it will give you a temporary kind of test machine and then afterwards after two or three months you will get the certificate. Okay so many things is it lifetime valid? No it will it is not lifetime valid it is valid for one year or two years something like that. Oh not yes okay but it will be what it is a value added only right? Yes it will be added in the CBO itself you mentioned it right? Yes yes yes they will not check if when I have written and it will not check but if they can check then you tell them that I have done this in this this and the validity expert that's it but I have done right? Oh okay and is it yes yes you are right and it will be multiple choice only. Yes it will be multiple choice questions only. You are having dumps as well. Whatever I have I'll email you don't worry I know in the Google itself you will find a lot of dumps. Sure sure sure okay so your recommendation is after completing this course and live project and getting some one month experience then go to the no at least not one month I will recommend you at least for two months practicing one hour daily. Yeah sure. Condition applied okay? Okay okay once I am confident enough. Yes yes because it is a waste of money else right? Yes you are right and it will charge nearly 8000 like that right right right 8 to 10,000 it will they will charge. Okay fine okay okay Sumit. Okay okay okay okay will meet you tomorrow okay? Yeah sure. So be there on time and don't miss the class okay? Sure sure Sumit. And please please send us some feedback okay? Yes sure sure I will be doing that. Yeah thanks job bye. Yeah thank you bye have a nice day. Yeah bye.