hello guys welcome to my channel test code automate so this is my 10th video for the playright with typescript Series in this video I would be covering understanding of the playright configuration file so before proceeding further with the scripting part I wanted you guys to understand about this playright configuration file okay and also the HTML report I would be explaining into the next video and then we will be proceeding further with the scripting part so let's start so playright has many options to configure how your tests are run you can specify these option in the configuration file so below are some options so usually most of the options you would be getting by default once you install the play right okay and uh if you install the playright using the playright extension or by using this npm in it command so in that case by default you would be getting the playright configuration file and if you are using the Third the manual way which I have explained into the video so in that case you have to create this playright configuration file manually okay so into my uh I think second video see we here we have covered the installation of the playright so if you are using these two options the play right extens through the playright extension or using this npm in playright atate test command so automatically you would be getting this configuration file into I folder this third way if you are using you can manually create okay so let me go to the visual studio and I'll tell you about this okay so here uh once you install the play right this file I I was talking about this file you would be getting which is playright Doc config.txt here uh one catch is there uh try to give this name only so play would directly be using it playon.tv uh uh one one name or one parameter to use that particular file so for now just use this play.con dots name only okay okay so uh there are different options which are there into the play right configuration file before that uh let's say if you are creating that file manually right uh if you are if you don't want to use the default file or if you using that manual uh process to install the playright and you are not getting that file so in that case you would be creating this file TS file okay and then you will have to import uh these two things Define config and the devices which we would be using okay from the play right atate playright for/ test right similar in the similar way we kind of imported the test right uh for using the test block and also we have imported the expect into our assertion video in the similar way you need to import this defined config and the devices from the play test right and then inside this defined config only we would be uh giving all the options uh for these configurations okay and you need to export uh this defined config so then only play right would be able to use these options so consider it as the Syntax for now okay so you need to export default and then you need to write the Define config right which you have imported okay then these parenthesis and inside the parenthesis we are going to you can consider this we are going to pass this as the object right curly braces opening and closing so this is the opening of curly braces and uh here here is the closing of that Curly Braes okay and inside it we would be providing the different options right for the configuration okay so let's start with this first one which is test di okay so test di uh is this option right inside this uh uh parenthesis right uh this curly bres uh we need to provide and inside the curly Braes you need to give this test di okay and coolon this is you can consider this is the key and this is the value right so testd coolon and its value is for/ test okay so what does that mean if you if you will Mouse over onto this these option also you would be able to see right so this is the directory which will be recursively scanned for the test files right so uh here this test when we are giving so we are telling playright to use this particular folder okay the directory to pick up the test case and execute it okay so this test folder we have given this directory we have given right so forward slash means the uh I mean this into this same path right or into the same folder you need you are telling to use this test uh here right so what will what it will do once we will execute our test cases clear the console sorry okay so once you will execute the test cases so automatically playright is going to pick up all the test files which are there inside this test test folder right so one more way uh you would be able to see it like here into the testing you are able to see that test folder it is because of this configuration only right so let me let me change this directly then I will tell you how it is going to behave right so here into this test. examples uh we have different uh files right this test scripts files so let me change it to this one tests hyphen examples right you can copy paste the same name [Music] also l s okay now save it if you're not using this Auto sa functionality and uh now just go to this uh t testing of this playright extension so see automatically this uh the test which was appearing here now it is this test hyph example right and whatever the script which was available there uh you would be able to the test script right spec. TS with this thing you are able to see that those files here there is only a single file for now so we are able to see it here right and and one more thing if uh let me let me change it to the default one which is tests only and here also if you will if you will uh run the script from this terminal so to run the script from the terminal until now we have just used this play extension uh functionality to execute the script if you want to execute script through the terminal so in that case you need to write this command npx then play right and then test okay so this is the command so automatically it will be kind of of picking all the test scripts or the test files which are there into this particular directory and it will start executing it okay so let me hit uh enter so see here you would be able to see 24 uh tests uh are getting executed here right okay let me terminate the execution for now uh you can press contrl C to ter the execution and here it will ask for yes or no so you can select yes or you can again press the contr C it will get terminated okay so uh this was about the test directory if you want to create any new directory you can do that okay a BC any any name can be there the folder you can create and you can use it so now coming on to the next option which is fully parallel okay so this fully parallel once the is fully parallel is true so play right would be running all the test which are there into your task scripts files into the parallel right so so all the files would be getting executed into the parallel also whatever the test which are there into these files right these are our test scripts so let's say there are five different tests which are there or three different tests which are there so they are also going to get executed into the parallel so that's why mean try to make your test uh kind of independent so it should not be dependent onto the prev previous test right so try to avoid that practice make every test independent of each other okay so if the parallel execution will happen so you will not uh face the failure right let's say if you for an example if your first test or the second test is dependent onto the first one so in that case if the if it is getting executed into the parallel mode so one and two both would be getting executed par right so in that case you will get the failure because if the first test is itself is did not got did not get executed so how uh you are how you would be able to run the second test right so this is uh uh by default it would be true you can uh change change it to false also if you want to do it right so now coming on to the third option which is this forbid only okay so this forbid only to understand this forbid only you will have to understand what is this only annotation which can be used into our T script okay I will be covering all these annotations into a separate video for now just understand about this only annotation so in the play right uh let's say there are so many tests which are there right in in in your test scripts and you just out of those files or inside those files there are so many tests and you just want to execute only one test okay so in that case what you can do after this test you can write dot only okay so if you write this dot only so what will happen only this particular test will get executed from all of your test from all of your test mean whatever the test files which are there inside this folder and out of which whatever the tests which are there into this folder out of that only this this test is going to get executed with this test only thing right let me execute all the files this test from this test folder if I execute it so see only from this file I have used this test R only so from this file only this practice of locator method with this title uh the test is getting executed right apart from that it is not executing any of the test see it has executed it and passed it right so so let's say if you using this test dot only for your your debugging purpose right uh once you are uh once you are done with the debugging you need to remove this dot only but you for an example just consider you forget to remove this dot only okay and you committed your code and sent it onto the master Branch okay where your all the execution or all the code would be there okay so what will happen if if your tests are getting executed onto any cicd thing like Jenkins or Azure devops only this particular test will get executed right so to avoid that issue there is this option forbid only so what it will do let's say if you committed that code where this forbid on this test only is there okay so we are telling playright if this for uh this only option is there into the code okay so in that case you can make it true or false so if this only option is there so we are telling here what we are doing we are telling play right if you are using cicd okay if you if the test is uh getting executed into this CI let's say it may be Jenkins or Azure DBS so in that case we are putting let's say if this CI thing is true okay so this forward only would be true right so in that case what will happen we are we are telling playright to refuse the execution okay so in the simple word you you can understand it like this let's let's remove this not process. EnV doci and just use this true and false let's if I keep it true okay so for now once I executed my test so only that test got executed right where I use the only this for this one right let me use the only again and again let me start the execution for for all the files okay but here I have I have given forward only as true so in any case it may be that you are running your test cases locally or it may be that you are running your test cases onto the CI this forward only is true okay and if if there would be any of the test cases with this test dot only so in that case it would be giving you an error okay so whether to exit with the error if the test or groups are marked as test do only so here into the description also the same thing is written and it is useful onto the CI okay but for now to show the example I showing it like this I have kept this as true for always okay and if you run your test script so see here you would be getting this error okay the error is saying the same thing item focused with do only is not allowed due to this forbid only option in playright Doc config dots okay so this if I make this forward only true in that case you would not be be able to use that only option itself anyway okay so that's why playright has given it like this process. env. C so this this thing is uh you can consider it is going to return return true if you if you are using any c like genkins or aops or any any CI tool okay so what it is telling that this is the not operator into JavaScript so if you are not using the CI right mean you are running your test cases locally like we are running so if you are not using your CI so in our case for now we are running it locally we are not using the C right so that uh that part is true for us okay so if you're not running your test cases onto the CI then that is true for us so use here it is using again the not operator right so which would which would make this particular statement false right so this is is the true for us not using the CI right and again we have used the not operator so this this particular expression is now false okay so forward only is false because we are not using the CI okay so it will it will now allow us to execute the test cases even though there is dot only test annotation is there now let me again run it so now this time it will not throw us any error okay and let's say this CI this not using the CI option is false let's say if you are using genkins Okay so this would be false and not operator for the false would make it true so forward only will be true in case of CI and there you'll have to kind of uh there it will throw the error and it will not proceed further with the execution right because there we don't want to just execute one test only right we want to execute all the test cases into the bike right okay so you can also play with these options and uh try to understand it into the more detail okay now let's go to the next option which is retries okay so this retries would happen let's say if your test case is getting failed or let's understand it with the help of an example if you are uh simple example let's take the login example so you are hitting the link of any site and then you you need to put the username password and need to click onto the login button but once you hit the site uh the page is taking too much time to load right so in that case our script will get failed right but but we in that case what should it just took the more time but this is not the genuine failure right so in that case what we want we want to retry our task case or we want to retry the run so that into the second go let's see if the loading is not loading is uh not that slow and it was quick so in that case our test rout will uh will pass okay so here retries we are using right retri is the key or the option which you can use and its value is this one this part is the value so here what we are saying that this process. EMV doci is if if it is true right if we are going to use the CI then here you can consider after the question mark this is the true part okay and after the coolon this is the false okay so if this process. env. C this expression is returning true okay in case of if you are using CI then use this two as the value of the retri otherwise if this is false you not using the CI okay you are running the locally like we are running for now so use this value which is zero okay so for now we have kept the this for local we have have kept this retry value as zero okay you can you can change it to 2 3 1 okay uh let's let's make one of the test script um or one of the test fail and then I will show you okay let's uh add something XY Z here okay so it will get failed okay and if the r r are zero so uh even though if you get failed it will not retry um the execution okay but if you will give the value as one so it will try to re re it will kind of retry the execution only one time or or to make it simple let's say if you're you are just using it locally so you can directly give that value right here which we are going which we were going to give the value here if you're not using the CI you can directly remove the C part also you can give one retry you want to do right and if we execute our test case so in that case one retry is going to happen so now let me run the script okay so for now let's run this assertion dopc dots only so let's run it through the command so npx play right then test and if you want to run only one script so you can directly give the name of that script right so from that uh test directory you have which you have already given right you can directly give the name here so what is the name of this one assertion dope dots right assion dope. TS okay so once uh you give that uh playright would only be running that particular uh file right which you have given here and uh one more thing by default mean uh from if you run it through this testing extension right play right extension so by default it takes the Chrome browser but if you run it through the command so your script will get executed into all the all the browsers like chromium Firefox okay so see here as you can see uh this got uh sorry open the report so see here as you can see this sech practice uh got failed uh this test ass practice is the name of this test okay it got failed okay so once it got failed playright retried the execution the one time okay again it got failed okay for the Firefox also the same thing is happened if it got failed it will it will kind of retry the execution okay for all the browsers for now it got F right so yeah so that's about uh this retries option let me set it to the default only which is zero for the debuging purpose I don't want to retry for now so it is zero you can make it one to as per your specification right or the local also but I would suggest if you are debugging and locally running the test just make it zero otherwise there is no point of uh I mean there's not such use of uh this read DY for the local thing right so for the webkit also this rri happened for the fire fox also you would see the r try okay now coming on to the next option which is here the workers okay so what is workers so this workers is kind of linked to this parallelization which we are going to do or which we can do where uh you can provide the number of workers which would be working when you run your test case Okay so by default uh this once you install the play right you can see this option as undefined okay so if it is undefined let me make it undefined so you will in your files you you may be seeing it like this undefined right so the same thing if the process. env. C which is true or if you're running your test cases onto the CI then after this question mark this true part is there right I want to execute or I want to execute my script with one worker only and if it is local mode then it is undefined there may be a number of workers like many workers can be there okay and you can decide this number let's say if you just want to use the two workers so you can make it two or directly if you for for everything for the local and C you just want to use three workers only right so you can directly use this three also after the workers Schon and the value okay so let me make it to this one only okay so what does that mean when this fully parallel is true okay and this worker is let's say three so at the same time your three Tas cases will be getting executed by three work not more than that okay and if you make it five so your five test cases would be running into the parel through these five workers so similarly mean you can give uh but but try to give only three four not much value let's say if you are giving 50 so it would be opening at the same time if you 50 test cases are in parallel it would be opening the 50 browser and your PC would not be able to uh take that that many uh workers together right so accordingly you can give it or now let me keep it three I would be uh with this option I would be running the script at the end for now let's move to the the next option which is reporter okay so what is this reporter so reporter is kind of uh option where you can generate the many report so here if you will Mouse over onto this there are many uh many type of report uh which can be generated into the play right it may be HTML list dot line it Jon J unit okay so these many type of reports you can generate but for now by default you would be getting this HTML report option okay so what you need to do reporter after reporter is the key colon you need to provide the report name if there is any only single report you just need to write it as the string right but let's say if you want to get the two reports so in that case you will have to write it like this just take it with me okay so you'll have to write it into the array okay and inside the array also you need to provide the array okay so array of arrays and here let's say if I want to first I want to use the first one I want to use the HTML so you need to pass it here as the string inside the second inner array right and the second report which I want is the gson right so into the second array also you need to pass the report name which is Json any I mean whatever the reports which are there you can use any of them okay and uh one more thing you let's say if you want to change the name of uh any report if you want to change the name of this Json report is JS o n okay so in that case you can use the stle like uh like this one Json comma and then you can provide this object uh or you can say this curly braces inside it also you will have to provide the output file equals to the file name right so your file will get generated with this name okay for now we are just going to use the HTML report I would be I would be covering this uh HTML report into the next video so you would be having an understanding that how to generate the HTML report how we can attach the screenshot with it how we can attach the video with it the trace here how you can see there into the report so I would be explaining it to you for now let's use uh let's uh keep this this option as default one only where we would be using this HTML report right okay so once once you run the task cases right uh uh let me uh now put pass this test case Okay okay so for now let me run the script so let's uh run this uh this file only assertion dos spike. TS you can run all of the files also but uh just to save the time I'm just running the single file spike. yes right so this assertion file there is only one test inside it okay so so once the execution is done so see here it is running it onto all the browser by default uh which is Chrome Firefox and the web kit okay and once the execution is done uh we will be able to see this uh uh report generated so where this report will get generated you can go to this Explorer and inside this playright hyphen report you would be able to see the report which is index.html and also you can you can open the same report using the same uh this command npx play show report and once you will fire it you would be able to see the report and either you can go to this folder right and uh you can just you can just open this index.html right so see you are it is showing all the F uh all the test only one test was there so it got passed and it got executed onto all the browsers so that's why it is showing so this is the HTML report we would be uh looking into this HTML report into my next video into the more detail so what are all the options which are there into this HTML report okay so now coming on to this uh next option which is uh timeout okay so by default uh that may be the case that you will not get this timeout option here into this uh play R.C config.py time out for each test is in millisecond and it is default to 30 second so let's say uh in the when you are executing the test case and you are not able your script is not able to find the element or the locator so it is going to wait by default it is going to wait for the 30 second and then it is going to get time timed out let me run the script without this timeout uh thing let's fill this part into this practice locator. spc. TS which we have previously used okay let's give some wrong locator value right uh XY Z so this is not the valid locator and let's run this test only so once I run it so playright will try to find this particular locator and by default it is going to wait for the 30 second then it is going to get timed out right so see play right is trying to find this element but uh as you know right this is the wrong locator so it will not be able to find it here and then it will throw the error let let it get executed then I can show you what is the timeout thing which I'm talking about so see here uh you able to see this test time of of uh 30,000 millisecond or you can say 30 second exceeded okay so that's what this was the default timeout so but uh you know that for an example you know that your application is quite slow so in that case you can increase this time out right and uh for now let me reduce this time out time out coolon only 5 second I want to wait right so you can give 5,000 millisecond so this value is in millisecond and comma you need to put if you are putting any any of the property after that you need to put the comma okay and uh let's run it again so last time see it uh gave this 30,000 millisecond and then it got timed out let's run it again so this time as we have set this to 5,000 millisecond only so it should wait only 5 Second so see the same thing you are able to see here five uh test time out of uh 5,000 millisecond exceeded okay so any value which you give uh as for your project if you want let's say your application is slow and you want to wait for the 5,000 millisecond okay so you can increase this value or you want to wait for uh 50,000 millisecond or the 50 second so accordingly you can change this value okay and and one more timeout thing which is there which is for the expect okay so let me type this expect so this expect is used for the assertion okay and inside for this expect by default put the comma here so by default for this expect also the timeout thing is 5,000 millisecond let me remove this time out so you will not get confused so for this expect let me open this assertion keyword assertion uh SP file where we have used these all of these assertions okay so by default uh this expect once we provide so playright is going to wait for the 5 Second to kind of continuously check that it should have count of one this element should have count of one or it should be enabled for any of the assertion okay let's see it purposefully let's give some wrong value of the locator so playright will try to find the element and and uh this element should have count of one okay and if I run it so within the 5 Second it will get failed because we know this is the incorrect value right so for the assertion it is going to wait for the 5,000 millisecond or 5 Second and then it will show the failure right so in between it is kind of Auto retrying here and then it uh gave the failure if you're not aware about this this assertions so you can watch my assession video assertions in play right so you would get an idea how we can insert this session here I will provide the link into the description okay so let's say for now it is 5,000 but as for your project you want to increase this so you need to write this expect colon and then you need to provide uh these cly bres to give one more object here and then here you can give this timeout colon and you can make it 7,000 millisecond okay so this time out is for the session okay because we are providing it inside this expect values object okay so now again let's run this assertion test so now on place of 5,000 millisecond it is going to wait for the 7,000 millisecond or the 7 second let's run it so see here it will not be able to find the element itself but it is forther sessions so see uh it got timed out and time out of 7,000 MC waiting for this What fail right so this was related to timeout for now let me keep it as default only I will remove this timeout function time out option itself so it would be uh by default for now right now coming on to the next one this we have covered timeout and expect with timeout now let's use this use thing so if you will moune over onto the use so these are the global options for all the test okay so we can give all these Global option with the value so it would be applicable for all the test okay so inside this you need to give this use then coolon and then you need to pass the object where you would be giving different options for all the test okay for now it is the trace is already there you would you would also be able to find there into your file so this trace and with this Trace we can give many option right so if let me remove it you need to pass the value as the string but here if you will press control space you would be able to see different option which you can provide for this Trace okay on off or retain on failure retry with Trace so there are so many option we would be talking about these all the options uh um into the video where I would explain the trace viewer for now let's keep it on so once you keep the trace on so what it is going to do for any of the run it is going to create one Trace viewer right you one Trace file which you would be able to open into the trace viewer right I would I mean we have kind of looked at the glimpse of this tress viewer into into one of my video where I have explained all these options of the playright right I will you can go through my playright series you would be able to see that video where I have covered required options of the vs code and the play right so there I have uh uh told you right uh uh into the play right also there is this option show race viewer so you would be able to see the trace viewer if you run it through that uh this reite extension Runner right this testing thing but for now I have kept it as stress cool and on right so what will happen if you execute your task case okay for uh let's let's run it here through the command let's run this assertion dos spike. DS and uh for now let's uh make it pass only okay so for the pass also we have we have sent uh we have we are sending this stress on inside this use so once you run it from this terminal we are running so you would be able to see the execution and after that this tress file will also get generated where you which you can open into the tress viewer and it this tress viewer is kind of more useful for the debugging you can get so many options that what you have done what action you have performed what was the before thing which was there what happened after performing the operation okay and uh so many so many options are there we would be covering the stress we are into the separate video for now mean uh just just understand there's this option which we can give and accordingly we can give all the values retry on failure okay or on or you can keep this Trace off for all the time so it's up to you for now let's keep it off or or let's make it default one only which was on first rrive it is going to generate the trace Vier see here this Trace folder got generated where you would be able to see your all the files so you would be able to open this Trace let me quickly show it to you how you can open it let's open the report see here also the stress folder got generated once you click on any of your execution see into the report also you would be able to see the traces for now uh let's move to the next option we will understand it into my upcoming videos into the detail okay so now coming on to the next one which is uh this uh project I think let me check it into the here yeah projects we are going to cover so into the project there are different option which are there okay so this is the projects option and uh this value which you need to provide is an array okay array of objects okay so these are all the objects which you need to provide Okay so so here we can configure projects for major browser right you here by default playright is giving the configuration for the chromium Firefox of the webkit for which right if you if you run it through the command so for all the browsers your execution will happen for which are there inside this projects the chromium Firefox web Kate but you can you can configure it for different let's say here they have given shown this Command right for the mobile Chrome they have uh done the configuration but they have come Ed it out okay so what you need to give you need to inside this array you need to provide the object okay and inside this object you need to give the name and name of this uh your configuration right or the project name you need to give let's say it is chromium you can give any name right if you are running it onto the iPhone you can give it uh iPhone 15 Max Pro or iPhone ABC any any name you can give and then you need to provide this use so this use which we have used is kind of global options for all the test okay but here whatever the use which we give is kind of local to this project only which is chromium right this one is local to the uh this uh Firefox okay and this will let's say if you here you have used this stress on uh first R try okay but here inside this use if you give this Trace option as off so even for the retry also this stress will not come it would be off for any of the chromium project okay for now let's remove it so how you need to give name you need to give Name colon and then string you need to pass and then Second Use you need to use colon and inside the the this curly Braes you need to write this dot dot dot devices okay and then you need to give this device name so if you will see what are these device so there is kind of list of different devices go to let's go to this devices so see there are so many devices which you can which are already configured you you just need to provide this name here like with the syntax dot dot dot devices and then you need to provide the name of the uh whatever the cont configuration which you want to use right desktop Chrome desktop Firefox desktop Safari let's let's uh create one more for iPhone okay so what you need to do you need to provide this curly places okay and uh put the comma here use let's use the name uh iPhone any name you can give right as the string you need to pass iPhone 123 I am giving right okay and then here you need to provide this use Ulen and inside it after this name just put the comma okay and inside it you need to type this dot dot dot devices okay so whatever all the devices which are there we would be able to access it here and then you can sorry you can put this square bracket here and uh you can use any of the device name right you need to pass it as the string so see here if you will uh press the control space Also you would be able to see all the devices for now let's use the iPhone where is it let's use the iPhone 14 Max Pro right so see it would be executing your test cases onto onto this configuration also okay and and one more thing uh once uh once we are configuring this projects here so the same changes you would be able to see into the play right extension also see previously we used to see the chromium Firefox and webkit but now we have just created this iPhone 123 so we are able to see it right uh let's create it iPhone 40 max program right 14 Max Pro any any name you can give so see same changes you would be able to see here iPhone 14 Max Pro and your test case will get executed you can select it from here uh and your test will get executed onto I 14 Max Pro simulator okay uh see here it has open that thing and just trying to execute your test cases onto this iPhone uh 14 Max Pro okay for now let's close this let's stop the execution from here okay so you have got an idea right how can you can uh how you can configure different projects for the different browsers right and one more thing uh once you once you execute your test cases through the command right so by default uh you have already seen if you execute your test cases using this npx playright test so your task case will get executed okay all the task case will get executed using this command onto all of these projects which are there for now we have uh we have given all these chromium Firefox webkit and iPhone 40 max Pro so for all the projects it is going to get executed okay let me quickly show it to you I will stop the execution so see it has started the execution onto first onto the chromium then it will C onto it will it will kind of go onto the Firefox then it will run onto the webkit then iPhone 14 so and whatever the projects you can give for now let me terminate it press the contrl c contr c again okay and uh let's say if you just want to execute it onto Firefox or onto the web kit using the command only so what you need to write you need to give this npx play right test and then you need to provide this hyphen hyphen then project equals to you need to give this project name so whatever the name which you have provided here you need to pass it here let me show it to let's say if you have provided Firefox 1 123 here so same name you will have to provide after equals to project equals to and then this name Firefox 1 2 3 okay and once I hit the execution so your test case will get executed onto Firefox on D see it has started the execution for the Firefox let me terminate it [Music] again okay and one more thing so you you got the option right if you want to execute it for the specific browser you can use this it like this npx play right test and this project name which is there which you want to use okay there is one more uh property I would like to tell you about so by default if you if you use this commands npx playright test or any browser or directly also you you just use this npx playright test for all the browser so your execution will happen into the Headless mode right you would not be a headless mean you would not be able to see the browser okay so in that case if you want to see the browser then what if you running through through the command okay for now mean we use this test uh play extension testing option to run it so we can run it by clicking onto the show browser so it will show the browser but let's say if you're using the CI CI you running your test onto the genkins and you want to run it into the head headed mode then what then you can just you'll have to just pass this headed that's it so you it if you run it let me first run it onto the directly so see here you would be able to see the execution but you would not be able to see any of the browser which got open right it is just executing it directly okay and uh now second time I would uh run it with this headed option so in that case uh you would be able to see the browser okay so see for now the execution is happening but there is no browser let me terminate it again and now let's use the same command but with the headed option headed mean we are telling play right to run the script into the headed mode which will show the browser right now I've added this headed oops so see that was my mistake I have provided just the headed you need to provide this hyphen I added so once you add that option added so you would be able to see the browser here see the browser automatically got open and the same thing uh this head headless thing you can give it into the configuration file where inside this use let's stop this execution for now okay so inside this use you can provide this headless option so by default this uh this uh headed mode is kind of uh this headless mode is kind of true okay so see here if you will Mouse over onto it so you would be able to see whether to run the browser into the Headless mode more details for the chromium Firefox defaults to True see so by default The Headless is true but uh if you make it false okay let's keep it false Comm and uh now run it directly npx play right test now just remove this credit also so see previously when we were running so by default this headless was uh true okay so in that case if the Headless was true so it was not opening any of the browser so to uh bring the browser we added that hyphen added command but we have removed that command but but into the configuration file now we have kept this headless as false right so for any of the run which we do directly npx play right test and uh for now we are just executing it for the Firefox now let's run it so you would be able to see the browser in for this uh case right because we have added it into the uh this use into our configuration file you can also add it for the specific project also you can uh change this condition let's say for the Chrome you just want to run it into the Headless mode so you can keep this headless true and for the Firefox you can keep the Headless false so it's up to you right it will override this use options if you provide it inside this use okay it will take give priority to this use in that case okay so I think we have covered all the options that's one one one more option which is spending I told told you right I will be telling you about this workers thing okay so where is it uh the workers we have talked about right this workers option is there so for now it is undefined uh let's keep it for the cicd it is one for the CI thing but for uh local it is undefined let's give it three okay and let me run the execution into the similar pattern for this Firefox only and if I hit the enter so you would be able to see my test case are using three workers so see running eight tests using three worker so the parallel execution is happen happening but at the same same time play right is kind of now executing my three test see here also it it will kind of Max it would be opening three browser at the same time and it would be executing your see three test cases uh it is executed right Max three worker it would be working on at the same time so you can you can kind of give it any value four five two or you just want to and by default it would be one right if you don't give any value if you remove this property itself so by default only one worker would be working okay for now let's keep it three so yeah that's it I mean we have kind of looked into all the options I mean these are not all the options but uh kind of uh useful options which are there there may be many options which you can give let's say you can you can give the configuration for the screenshot how you can attach the screenshot you can give the configuration for the video also so there are so many options which you can give so on the go wherever it is useful I will be telling you it into the videos okay and these video and the screenshot option I would be covering into my HTML report into the next video so that's it for this particular video let me me give you the quick recap so uh you would be getting this play play.con Dots file if you install it through the extension or npm in command you can also create it manually and uh here we have imported this defined config and devices from the play right and then uh there are different options which you can use under this defined config right you need to export it and the different options you can uh use that testd pH parallel forbid only we have talked about already so you can use it use this option you can try this option and try to kind of do the handson by giving the different values here okay and this project for also we have understood right you can give a number of projects with the different configuration and uh you can run your test cases onto those configuration onto the different browser right so this also we have this devices is coming from this play test only right we have imported it so yeah that's it from my end stay tuned for my upcoming videos if you have any comments questions or doubts you can let me know into the comment section below please like share and subscribe to my channel thank you very much have a great day