Naveen I have no idea how much sweat blood and tears it took to create this magic but the outcome is really Sweet & phenomenal ! I'm really inspired by your work.
I am following your videos since last 1 year and updating my skills. I just want to thank you for all the hard work you are putting in. God bless you :)
Thanks a lot Naveen for the new approach. Really excellent approach. One more doubt , Any suggestion, where we can have util file and also function for properties file (config. properties). Earlier i have properties details in TestBase class and i had different Util class.
Hey Naveen, we can also create on method in Base Test which return object of subclasses further it may employ to access all member methods. Can you please suggest
Thanks a lot Naveen for this concept. In interviews, while explaining about framework, should I explain about POM with Page Factory or with Java Generics?
Can u please add the video to generate runnable jar file in the page object model framework along with testing..also mention how to solve no main class in manifest issue
I have a Doubt, If we use GetInstance For Every Test will it not create mutiple object of one Class ? Wouldn't it be better if we Store the Instance in Reference Variable and use for the entire Test ?
Naveen, we are initialising the Page class constructor in Base Test class. We are adding the constructor in BasePage class as Page class has the constructor. But on including super(driver,wait) which invokes Page class constructor....what it actually does in the program? Can you please explain. I hope this will clarify my doubt on what super(driver,wait) does in all the page classes. Please help
Thank u Naveen, I got my doubt clarified after watching POM with all OOPs concepts. Regarding the need of why we are passing the initialised driver in Base Test class to Page class so that the driver will be supplied to all the pages using the line super(driver). At first Page to Base Page then driver is supplied to all the pages from Base Page. Thanks a ton Naveen 🙏 learning well n gaining confidence.
Reflection has a performance penalty, as mentioned in the Oracle Docs (docs.oracle.com/javase/tutorial/reflect/index.html). Is there any specific advantage of taking this approach?
Why baseclass is extending pageclass when page class object has already been created in testbase class where we have already passed driver and wait object to it's constructor .
Role of BasePage comes into play when you create child page classes ( like LoginPage and HomePage), so that LoginPage can utilize the wrapper methods. BasePage is extending Page so that it can call the constructor of Page, The wrapper methods inside it are not used directly but via the child classes like LoginPage and HomePage. Also , bear in mind that BasePage is a layer to keep the 'util wrapper' code segregated for easy maintainability and scalability you can choose not to implement it at all and add your 'util wrapper methods' in the Page class itself. @NaveenAutomationLabs: Correct me if I am wrong !
I tried it on my side but i get Null pointer exception because of this method being called in my test class page.getInstance(LandingPage.class).login("sami", "sami"); at com.qa.parabank.tests.LandingPageTest.successfullyLoginTest(LandingPageTest.java:17) Naveen can you give me a quick hint please
i am getting below error when i'm exe. the LoginPage Test plz help out- Error: Main method not found in class com.qa.ectms.test.LoginPageTest, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
Hi Naveen, i followed as you have done...only difference is as follows - instead of @BeforeMethod in the "BaseTest.java" , i used @BeforeTest. It gives me a "null pointer exception" in the 2nd test when run from testng.xml suite.
Naveen I have no idea how much sweat blood and tears it took to create this magic but the outcome is really Sweet & phenomenal ! I'm really inspired by your work.
Hi, Naveen I am following your videos for last 3 years and learning new things every time updating my skills. Thank you
I am following your videos since last 1 year and updating my skills. I just want to thank you for all the hard work you are putting in. God bless you :)
Thank u naveen. I watching ur videos by last one year .I am learning many new things in selenium
This is definitely something I have never heard , amazing Naveen.
I wish I could work with Naveen in same team
This is really amazing... I am learning many new things in selenium from your channel
Thank you Naveen for sharing....
Thank you for your great support
I have learned selenium by your valuable contribution
I really admire your efforts.
Thank Naveen for your TREMENDOUS efforts. I have learnt a lot from your tutorials. Kudos for your efforts.
Simply awesome😇👌
This is really Amazing.. Awesome sir💐💐💐👌👌👌👌
Thanks Naveen, really appreciate your contribution awesome video
This is exactly what I was looking for. Thanks!
This is amazing concept and code looks so clean and easy to maintain..you are awesome Naveen ...God bless you
Thanks a lot.....we owe a lot to you.....
Super Awesome. Super lit.
Thanks Naveen really need this video
Thanks a lot sir... Really outstanding work...
Thanks very much. you are a Star!
amazing concept naveen.. liked it🙂
Thanks a lot Naveen for the new approach. Really excellent approach. One more doubt , Any suggestion, where we can have util file and also function for properties file (config. properties). Earlier i have properties details in TestBase class and i had different Util class.
Thank you Naveen.
Great Sir.. You are brilliant
So nice of you
@naveen So, we dont need to use page chaining now correct?
So good design. Nice and clean I love this. But have to workout
This is really Amazing sir..
Hey Naveen, we can also create on method in Base Test which return object of subclasses further it may employ to access all member methods. Can you please suggest
Naveen...how to contact u to get onlinetraining from u?
need to subscribe first???
please let us know
Hi naveen this is bit different and difficult. I ll work with this
Thanks
Yes it is. :)
Thanks a lot Naveen for this concept.
In interviews, while explaining about framework, should I explain about POM with Page Factory or with Java Generics?
Awesome
Superb👌..... Naveen Bhai I have a question.. As an automation guy is it require to write the testcases and testscenarios?
Yes yes
Can u please add the video to generate runnable jar file in the page object model framework along with testing..also mention how to solve no main class in manifest issue
Hi great work thanks for sharing your knowledge, is there any benefit to not using page factory ?
Good tutorial naveen. Can I go to same approach using page factory pattern.
I have a Doubt, If we use GetInstance For Every Test will it not create mutiple object of one Class ? Wouldn't it be better if we Store the Instance in Reference Variable and use for the entire Test ?
I also have the same question. @Naveen can you please clarify?
i too had the exact same doubt, @naveen can you please clarify on this
Hi sir, could you make just java generic video
Hi Naveen, I'm waiting for the Appium part-3 for windows.
Naveen, we are initialising the Page class constructor in Base Test class.
We are adding the constructor in BasePage class as Page class has the constructor. But on including super(driver,wait) which invokes Page class constructor....what it actually does in the program? Can you please explain.
I hope this will clarify my doubt on
what super(driver,wait) does in all the page classes.
Please help
Thank u Naveen, I got my doubt clarified after watching POM with all OOPs concepts. Regarding the need of why we are passing the initialised driver in Base Test class to Page class so that the driver will be supplied to all the pages using the line super(driver). At first Page to Base Page then driver is supplied to all the pages from Base Page.
Thanks a ton Naveen 🙏 learning well n gaining confidence.
Reflection has a performance penalty, as mentioned in the Oracle Docs (docs.oracle.com/javase/tutorial/reflect/index.html). Is there any specific advantage of taking this approach?
Naveen, anyhow in this case we are having the overhead of defining constructor with (WebDriver, WebDriverWait) for each and every page class isn't if?
This is not Overhead. This is just the mechanism of passing the driver.
Why baseclass is extending pageclass when page class object has already been created in testbase class where we have already passed driver and wait object to it's constructor .
Role of BasePage comes into play when you create child page classes ( like LoginPage and HomePage), so that LoginPage can utilize the wrapper methods. BasePage is extending Page so that it can call the constructor of Page, The wrapper methods inside it are not used directly but via the child classes like LoginPage and HomePage.
Also , bear in mind that BasePage is a layer to keep the 'util wrapper' code segregated for easy maintainability and scalability you can choose not to implement it at all and add your 'util wrapper methods' in the Page class itself.
@NaveenAutomationLabs: Correct me if I am wrong !
I tried it on my side but i get Null pointer exception because of this method being called in my test class page.getInstance(LandingPage.class).login("sami", "sami"); at com.qa.parabank.tests.LandingPageTest.successfullyLoginTest(LandingPageTest.java:17) Naveen can you give me a quick hint please
Make sure page ref is initialised with page class object. Check the code again explained in video.
i am getting below error when i'm exe. the LoginPage Test plz help out-
Error: Main method not found in class com.qa.ectms.test.LoginPageTest, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
Hi Naveen, i followed as you have done...only difference is as follows - instead of @BeforeMethod in the "BaseTest.java" , i used @BeforeTest.
It gives me a "null pointer exception" in the 2nd test when run from testng.xml suite.