Thanks Mukesh for uploading such an informative, useful n easy to understand video. I used to follow ur POM videos, But later switched to Naveen Autolabs Video series. But u have come up with so lovely concept.. Thankful to you for imparting so much knowledge. I am a fan of ur teaching skills.. Abhishek
Mukesh, thanks for uploading these videos. One thing I noticed is that the Browser factory part and few other parts are blurred is not clearly visible. I dont know if others has experienced the same blurred video. If possible please rectify the video blurr. Thanks
Hey Mukesh, First of all I would like to thank you for your video tutorials. My question is, Could you please tell me where we can store all test data like username, password, url, driver location path etc.
Thank you mukesh for your quick response. I have gone through video series from the link provided by you and I got complete idea about where to store all test data. Thanks you once again for your help !!
Hi Mukesh very informative, if we want to initialize multiple pages in multiple tests how do we do this everyone is explaining only the basics, please help with this topic
Hi @Mukesh, can you give us an example of a test case which requires interaction with Webelements of multiple pages? For example - if I want to design a test case to create a new Product (Product tab on left panel>New Product); I need to interact with Sign In page, Home Page and Create New Product page. So what is the best practice to achieve this? Please advise.
Thanks Mukesh for explaining the POM design pattern while creating the framework so well. However, I did not understand the part at 19:35 sec when you talk about PageFactory class which has the static method called initElements and returns the object of the class whichever we want to use. Would be of great help, if you could refer me to the video where this part of code is explained where returning the page object/page chaining is used. Thanks!!
Hi Mulkesh , thanks for this Nice explanation video...I am having one query here - Why you have not created utilities in src/main/java..means does it make any difference or remain the same
Hi mukesh, could you please zoom your video for up coming videos because current videos visible is very tough to watch am getting eye pain so please try to zoom the videos hereafter. Thank you.
@Mukesh : If possible please add positive and negative TestCases with test data. Also if your using ExtentReports please use parent and child test cases with more than 1 TestCases.
@mukesh sir- thanku for this but please explain at 6:31 why do you have taken WebDriver driver in argument although program is running fine without taken it in argument please tell ,solve this query
Sir is it necessary to initialize page factory init method in every test case, Actually I am writing more test cases and I don't want to initialize page factory in each and every test cases
Hi Mukesh, can we extend "BaseClass" from "LoginPage" instead of passing it from @Test ? If we'll have in our @Test steps from 10 pages we need to pass the driver 10 times.
Hello Sir, I was creating the fremwork as per ur instruction, i am stuck in one point where you execute the script , at 13.34 sec 'Run as > TestNG Test ' , but for me TestNG Test is not coming , instead i got only run configuration alone. could you please give your idea on this.
Hi mukesh, I have silly Quarry related to project dashboard UI changing based on users login . how i can automation such case because display data's are also different. please help to provide approach so that i can implement the same
Hi @Mukesh i have tried implementing this but facing issue as below , i have created static startApplication and trying to access it via import statement. Could you please suggest something. I don't understand why we need main() there. Error: Main method not found in class com.automation.Utility.BrowserFactory, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
Hi Mamta, please share code screenshot. Seems you are running BrowserFactory directory thats why it is asking for main method. You can run the test using testng.xml or pom or from main test cases.
Hello Mukesh Sir, when i try running LoginTestCRM i am gettng Null Pointer Exception i have followed the same steps which mentioned in this video. Can you tell me what will be the issue. Just to inform browser is getting launched but Username and Password is not getting entered. Thanks
hi, Mukesh while running Testcase, the URL is opening but the element is not hitting getting error like, FAILED: loginTest java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.SearchContext.findElement(org.openqa.selenium.By)" because "this.searchContext" is null What should I do? How it will fix please help me.
If we have to pass multiple parameters to a method what would be a good way to implement it? Eg: public void newUser(String firstName, String lastName, String gender, int age, int salary, int experience) { ............. ............. ............. } Here the number of parameters passed to the method is huge and it will be difficult to keep note of the position of the parameters. Is there some good way to implement a method with multiple parameters?
Hi Mukesh..Can you please share code structure of this example?I am trying this example but getting Runtime & Null pointer exception.Can you please help me in this?
@@Mukeshotwani so previously the interface was it showed login and password but now you have to login and then pass, then what changes i need to make in my login test java class
Hi Mukesh,When i move this to Base class ;im getting an error ;FAILED: loginApp java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.SearchContext.findElement(org.openqa.selenium.By)" because "this.searchContext" is null; Can you please help me with this
Hi Liji, please check if you are storing the driver variable which is returned by startapplication method . this line in the code driver = BroswerFactory.startApplication(driver,"chrome",appURL);
Mukesh Sir..Could you plz help me out of one doubt..As we are creating an object of login page in LoginTest class..Then what is the need of constructor in LoginPage class as we are initialising the page objects through logintest class itself..And if we are going through your said approach ..How do constructor in Login page class getting called and how driver in same class getting initialized..Plz help
Even if we are removing constructor from LoginPage class and we have only the default constructor then how driver is getting initialized in LoginPage class..If we remove the constructor then also data for username and password is getting passed into the fields..Plz help me out if anyone knows the fact
Going to cover all in framework. For quick reply- WebDriver Driver=new ChromeDriver() is itself method over ridding concept th-cam.com/video/6Er5pIEiscI/w-d-xo.html
Towards the end of this video, where you extract out @BeforeClass and @AfterClass out into a base class - was there a mistake here? The base class is under *.pages while the superclass is under *.testcases - the base class should be under *.testcases too, right? Useful tutorial though :)
Hi David, You can keep base class in Pages or Test cases as well, the only change is code will be all variables will move to the public if baseclass in a different package.
@@Mukeshotwani thanks alot sir..i have a scenario in. My application where I have to perform drag and drop by selecting multiple elements using control.. So I am using click And hold and releasing it to that point.but it only release the last element that I have clicked instead of multiple elements that I have selected.. How can I perform this scenario?
Hats of for such an amazing content. Better then many of paid courses.
Thank you
One of the Best POM explaination brother You're Great..👍👍👍
You are awesome Mukesh. Superb explaining. I am really understanding how oops concept getting utilized in automation framework
Thanks Mukesh for uploading such an informative, useful n easy to understand video. I used to follow ur POM videos, But later switched to Naveen Autolabs Video series. But u have come up with so lovely concept.. Thankful to you for imparting so much knowledge. I am a fan of ur teaching skills.. Abhishek
Thank you so much Abhishek, I will also publish series 2 on framework soon.
Hats off Mukesh ,thank you for Video ,Waiting More on Hybrid Framework .My friend lajish lakshman i think he is too lucky to work with you
Thank you Tonny
You're just great sir 😌😄🎉
Thank you Thank you ji
Mukesh, thanks for uploading these videos. One thing I noticed is that the Browser factory part and few other parts are blurred is not clearly visible. I dont know if others has experienced the same blurred video. If possible please rectify the video blurr. Thanks
u r too good ... mukhesh.. thanks a lot
Thanks Saurav for such a nice comment
Hey Mukesh,
First of all I would like to thank you for your video tutorials.
My question is, Could you please tell me where we can store all test data like username, password, url, driver location path etc.
Hi Pankaj, in these series I have covered everything, please check th-cam.com/play/PL6flErFppaj0WwNOMFeXPVlNCDuJyPYFi.html
Thank you mukesh for your quick response.
I have gone through video series from the link provided by you and I got complete idea about where to store all test data.
Thanks you once again for your help !!
Hi Mukesh very informative, if we want to initialize multiple pages in multiple tests how do we do this everyone is explaining only the basics, please help with this topic
Thank you Madhuri, yes part 2 of this hybrid framework is coming soon in Jan where I will make multiple test example and will run the same.
Hi @Mukesh, can you give us an example of a test case which requires interaction with Webelements of multiple pages?
For example - if I want to design a test case to create a new Product (Product tab on left panel>New Product); I need to interact with Sign In page, Home Page and Create New Product page. So what is the best practice to achieve this? Please advise.
Hi Prabodh, just like we have create login page like that we need to create another pages and use them.
Coming weekend I am going to upload the same.
Thank you Sir... Really good explanation
Thanks Vinay
Thanks Mukesh for explaining the POM design pattern while creating the framework so well.
However, I did not understand the part at 19:35 sec when you talk about PageFactory class which has the static method called initElements and returns the object of the class whichever we want to use. Would be of great help, if you could refer me to the video where this part of code is explained where returning the page object/page chaining is used. Thanks!!
HI Akshay, I have 2 more videos which covers POM without framework which might help th-cam.com/video/w_iPCT1ETO4/w-d-xo.html
What exactly i want to know about POM ,That is in this video.Thank you so much
Hey Indrasena, Thanks I am glad it helped you.
good video ..only confusion is when to use @BeforeTest and @BeforeClass and similarly @AfterTest and @AfterClass
Hi Praful @beforeTest for when you have to run some scenario for every test suite and @beforeclass for alll classes
Hi Mukesh!!! This cannot be easier than this. :3
Thank you Harsha
Hi Mulkesh , thanks for this Nice explanation video...I am having one query here - Why you have not created utilities in src/main/java..means does it make any difference or remain the same
Hi Manish, you can keep utility in src/main/java too but main part is test which has to be in src/test/java
Please share the link for previous vdo and next vdo for this vdo ....thanks
Thanks alot for the video series and your time... my ques is can't we use WebDriverManager in our framework
Hi Santoo yes you can use..
Thanks for the reply Mukesh:)
well explained Mukesh. Do we need to initialize the driver for each page?
Hi Smita, you can initialize in Base Class and you can use in every test case.
Thanks for such nice explanation..Keep it up Mukesh.
Hi mukesh, could you please zoom your video for up coming videos because current videos visible is very tough to watch am getting eye pain so please try to zoom the videos hereafter. Thank you.
Thanks Rajesh for feedback.. noted your point
@Mukesh : If possible please add positive and negative TestCases with test data. Also if your using ExtentReports please use parent and child test cases with more than 1 TestCases.
Hi Mukesh! This is so impressive, you always explained the most simple way, how can I get connected with you?
Thank you Salma for such a nice comment. Feel free to connect mukeshotwani@learn-automation.com
Well explained, Mukesh!
@mukesh sir- thanku for this but please explain at 6:31 why do you have taken WebDriver driver in argument although program is running fine without taken it in argument please tell ,solve this query
Thank you very much.
Welcome 😊 🙏
Sir is it necessary to initialize page factory init method in every test case, Actually I am writing more test cases and I don't want to initialize page factory in each and every test cases
Hi Mukesh is there any video in which you have checked all the validation messages step by step in sugnup process. If you have please share
Hi Mate, That I will cover in part 2
Hi Mukesh, can we extend "BaseClass" from "LoginPage" instead of passing it from @Test ?
If we'll have in our @Test steps from 10 pages we need to pass the driver 10 times.
Hello Sir,
I was creating the fremwork as per ur instruction,
i am stuck in one point where you execute the script , at 13.34 sec 'Run as > TestNG Test ' , but for me TestNG Test is not coming , instead i got only run configuration alone. could you please give your idea on this.
Thank You very Much Sir.
You are most welcome MD Hossain
Hi mukesh,
I have silly Quarry related to project dashboard UI changing based on users login .
how i can automation such case because display data's are also different.
please help to provide approach so that i can implement the same
Hi @Mukesh i have tried implementing this but facing issue as below , i have created static startApplication and trying to access it via import statement. Could you please suggest something. I don't understand why we need main() there. Error: Main method not found in class com.automation.Utility.BrowserFactory, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
Hi Mamta, please share code screenshot. Seems you are running BrowserFactory directory thats why it is asking for main method. You can run the test using testng.xml or pom or from main test cases.
Hello Mukesh Sir,
when i try running LoginTestCRM i am gettng Null Pointer Exception i have followed the same steps which mentioned in this video. Can you tell me what will be the issue. Just to inform browser is getting launched but Username and Password is not getting entered. Thanks
Hi Ajit, NullPointerException is pure Java exception. You can debug the code th-cam.com/video/rXXeHfvbddo/w-d-xo.html
how to add different pages and different test pages. because it's only for a single item. and use the login page for only entering the site.
Hi Lori, what is the issue here? You can follow exactly same approach for all the test.
Hi mukesh, getting error like failed to get TestNG version from class.What could be the reason??Please help me
Hi Devi please use 6.9.10 version.
Awesome 👍
hi, Mukesh while running Testcase, the URL is opening but the element is not hitting getting error like,
FAILED: loginTest
java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.SearchContext.findElement(org.openqa.selenium.By)" because "this.searchContext" is null
What should I do? How it will fix please help me.
sir can u pls respond this .i just run maven project but it running previous java program how to run current maven
If we have to pass multiple parameters to a method what would be a good way to implement it?
Eg: public void newUser(String firstName, String lastName, String gender, int age, int salary, int experience) {
.............
.............
.............
}
Here the number of parameters passed to the method is huge and it will be difficult to keep note of the position of the parameters. Is there some good way to implement a method with multiple parameters?
Hi Mukesh..Can you please share code structure of this example?I am trying this example but getting Runtime & Null pointer exception.Can you please help me in this?
What can we do if for logging in to an application I have a windows pop up rather than a application login page?
Hi Reshma in that case you have to switch to new window then perform operation.
Sir still i didn't found the soln of how to find the text which is highlight/ selected text from dropdown list (bootstrap)
Shoyab share your code to my email let me check mukeshotwani@learn-automation.com
@@Mukeshotwani i have send you email please check from your end and let me know
i convert to testng.xml when i run the test gets skipped. what could be the problem
Hi Neo, whenever test skipped or fails always check the report or exception log where you will find all details about the issue.
The demo website is changed now. what I can do? please suggest
Yes , you can use the same concept for any application. Just a few locators will change.
@@Mukeshotwani so previously the interface was it showed login and password but now you have to login and then pass, then what changes i need to make in my login test java class
Getting error---"Can inject only one of into a @AfterClass annotated browser".
Hi Biswajit, Can you share the code where you are getting this exception?
@@Mukeshotwani thnx for ur reply,..i fixed it
noticed that the driver is returning null after leaving test base classs, not sure what is the issue.
Can you share the code?
mukeshotwani@learn-automation.com
@@Mukeshotwani what is yout github account, can share through there
Hi Mukesh,When i move this to Base class ;im getting an error ;FAILED: loginApp
java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.SearchContext.findElement(org.openqa.selenium.By)" because "this.searchContext" is null; Can you please help me with this
Hi Liji, you can share your code on github I will look into this.
Hi Liji, please check if you are storing the driver variable which is returned by startapplication method .
this line in the code
driver = BroswerFactory.startApplication(driver,"chrome",appURL);
I was creating structure but then pom.xml file and project file got an error symbol without doing anything. How to solve that
Mukesh Sir..Could you plz help me out of one doubt..As we are creating an object of login page in LoginTest class..Then what is the need of constructor in LoginPage class as we are initialising the page objects through logintest class itself..And if we are going through your said approach ..How do constructor in Login page class getting called and how driver in same class getting initialized..Plz help
Even if we are removing constructor from LoginPage class and we have only the default constructor then how driver is getting initialized in LoginPage class..If we remove the constructor then also data for username and password is getting passed into the fields..Plz help me out if anyone knows the fact
Hi Sairaj, please watch my videos for clarification, I created dedicated videos for POMth-cam.com/video/w_iPCT1ETO4/w-d-xo.html
i want complete architecture of maven if u dont mine can you please help me
How to create that project ?
Sir please continue with this application and do add contact operation and verify it in list section and then do validation please I need it
Yes Rehan Bhai sure will try my best
@@Mukeshotwani - could you please add further videos in framework series... thanks a lot !! You're doing great job ..
Sur where we use overriding in framework?
Going to cover all in framework.
For quick reply-
WebDriver Driver=new ChromeDriver() is itself method over ridding concept
th-cam.com/video/6Er5pIEiscI/w-d-xo.html
Hi Mukesh ..I am getting noclassdef found error
Towards the end of this video, where you extract out @BeforeClass and @AfterClass out into a base class - was there a mistake here? The base class is under *.pages while the superclass is under *.testcases - the base class should be under *.testcases too, right?
Useful tutorial though :)
Hi David, You can keep base class in Pages or Test cases as well, the only change is code will be all variables will move to the public if baseclass in a different package.
Sir protactor par b vedio Banao..
Yes Ashish iske bad banana start karunga
@@Mukeshotwani thanks alot sir..i have a scenario in. My application where I have to perform drag and drop by selecting multiple elements using control.. So I am using click And hold and releasing it to that point.but it only release the last element that I have clicked instead of multiple elements that I have selected.. How can I perform this scenario?
Sir how can I connect to you
Hi can i download this code from github
Yes Athira why not.
Thank you sir
awesome..
Good
Thank you! Rashmi
Hello Mukesh Sir,
I am getting "java.lang.NullPointerException
" while running LoginTestCRM class.
Hi Risabh please extend base class in your testcase.
4:10 screemer
url has changed: use crmpro.com/index.html