Best Practices for Page Object Model - UI Automation (Mobile & Web) - Whiteboard Learning

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • In this video, I have explained about best practices for page object model for Web and Mobile Automation.
    Please find the link below for POM described by Marin Folwer:
    martinfowler.c...

ความคิดเห็น • 202

  • @AmanSaxena-qk9tm
    @AmanSaxena-qk9tm 4 ปีที่แล้ว +62

    Oh Naveen !! How much effort you are putting in... like teaching us, checking the source and reading line by line and the last but not the least mentioning the key points in video itself 🙏🙏🙏 loving this white board series ....

  • @rajwantatwal3318
    @rajwantatwal3318 3 ปีที่แล้ว +14

    WOW, what a explanation!! 🙌🙌I would say that you are blessed with very generous heart, GOD bless you. Speaking from experience, Automation training businesses who charge Testers 100s of dollars and still DO NOT TEACH the concept with this level of details. 😃 Stay healthy and prosper @Naveen Sir!. 🎉🎉I am learning from you so much, hope to find a job soon. 🙏🏻

  • @adityapatil2405
    @adityapatil2405 4 ปีที่แล้ว +10

    Great stuff. Request: Please dig into threading more deeply especially with and without TestNG.

  • @dakshdare5196
    @dakshdare5196 4 ปีที่แล้ว +5

    Whiteboard Learning Yes I'm enjoying with great learning ... need some imortant concept in selenium advance..

  • @sangeetsingh8980
    @sangeetsingh8980 3 ปีที่แล้ว +4

    You are par excellent Naveen. Kind of effort you are putting in Teaching students like us has no words. I have been following you since long and i feel to learn coding language we just need 2 things. 1 Dedication 2. Your videos. Journey will be cake walk then. Once again thanks a lot. Thoroughly enjoying whiteboard series.

  • @sabataranum5128
    @sabataranum5128 2 ปีที่แล้ว +1

    Thank you soo much Naveen I was doing few things soo wrong, Thank you for such a professional level support

  • @kshipra4504
    @kshipra4504 2 ปีที่แล้ว +1

    If there is a logout button or navigate link, it is common in all the pages. On which page we locate this web Element?

  • @nanasahebraktate5294
    @nanasahebraktate5294 ปีที่แล้ว +3

    Awesome Explanation Naveen. The way you explained the concepts through Whiteboard Series really help to clear the concept including what to follow , How to Follow and why not to follow certain practice. Keep uploading such useful videos . Please target API Automation Series too. Thank You

  • @suprabathj7843
    @suprabathj7843 3 ปีที่แล้ว +5

    Naveen , you must deserve the big round of applause - such a wonderful teaching - you are rocking man - loved it

  • @MariemMili4
    @MariemMili4 6 หลายเดือนก่อน +1

    Such good explanation😊 may god bless you 🙏

  • @chandrashekargoud626
    @chandrashekargoud626 4 ปีที่แล้ว +3

    I don't know what are you teaching But Iam Sure that these lectures will be useful for me in future,Thanks in advance Sir!!
    Keep doing sir, All the best!!

  • @gauravtangri2010
    @gauravtangri2010 2 ปีที่แล้ว +1

    Naveen whenever i land my first job i will send you 50% of my first salary❤❤❤❤❤mad love and respect from canada

  • @learnerlearner4090
    @learnerlearner4090 2 ปีที่แล้ว +1

    You've explained the concept so well. Thanks so much!

  • @chandanguptaSDET
    @chandanguptaSDET 4 ปีที่แล้ว +2

    Naveen, first of all thanks for sharing this to the public. As you have mentioned about Page Chaining model, I should tell I was a big fan of that but we have few disadvantages too, not a shows topper but I stopped using it for the same reasons (quick one is handling exception in the middle of the chain). You can make a video on the same if you like, its an interesting one too. Thanks

  • @dprem2009
    @dprem2009 4 ปีที่แล้ว +3

    True fact Naveen 90% of the frameworks in companies still have assertions under page class 😂

    • @vivekkeshri536
      @vivekkeshri536 4 ปีที่แล้ว

      we have in BDD this issue of assertion in step class

  • @נתנאלכהן-ג6צ
    @נתנאלכהן-ג6צ 4 ปีที่แล้ว +2

    Naveen, but if I need to return the instance of the next page in every function (according to fluent interface pattern), how can I return also the value that sometimes I need to return (like number from a field)? Thanks

  • @jdhung
    @jdhung 4 ปีที่แล้ว +3

    Excellent PAGE OBJECT MODEL tutorial.

  • @ramyacd559
    @ramyacd559 4 ปีที่แล้ว +1

    Thanks for your effort!! Its great understanding on white board but if you explain/share your screen then there are more possibilities of writing code and explain them..

  • @ashutoshpratapsingh6872
    @ashutoshpratapsingh6872 4 ปีที่แล้ว +2

    very well explain thanks and i'm waiting for POM with selenium and python

  • @gouribhale
    @gouribhale 4 ปีที่แล้ว +1

    Great efforts and amazing content!! Please make video on cucumber best practices wrt pom and maintenance point of view and integration with CI/CD tools.

  • @ChandraShekar-nu8yq
    @ChandraShekar-nu8yq 4 ปีที่แล้ว +1

    Thank you so much..... now I am very clear on pom pattern.....

  • @rahulgupta-kw5kj
    @rahulgupta-kw5kj 4 ปีที่แล้ว +2

    Thanks Naveen for giving us such a good knowledge. This will be really helpful.

  • @ankitpawar6491
    @ankitpawar6491 2 ปีที่แล้ว +1

    Tyq Naveen it helped me alot

  • @SANYAM0
    @SANYAM0 3 ปีที่แล้ว +1

    Hello Sir,
    I have one query regarding Page object model.
    for example if we have pre-written manual test case which is verifying different pages and performing action on different pages and I need to automate these manual test cases then in this case what approach should i follow as here we will have to navigate to different pages and perform action on different pages in a single test method.
    also in a single manual test case i will have so many steps and if I use assert at any step and if it gets failed then I will not be able to move on to the next steps like UFT .
    In UFT we have Reporter.ReporterEvent to verify different steps on basis of condition and get the proper report for each step but in Selenium I am unable to follow such approch.
    Kindly let me know how we can manage above scenario.

  • @bcoleone1
    @bcoleone1 4 ปีที่แล้ว +1

    Create a course bro I’ll happily
    pay for it your other whiteboard about a framework was a classic, also how would you create a page object for the amazon landing page ?

  • @mubeenmohd2144
    @mubeenmohd2144 4 ปีที่แล้ว +2

    Hi Naveen, thanks for your efforts, now a days many languages in the market, advice to people who are beginners to start with which language java or python

  • @poojachandel5622
    @poojachandel5622 3 ปีที่แล้ว +2

    Thank you so much sir! I have referred so many blogs videos tutorials for page object but never got in such a way deep clarity about POM. Thank you a lottt for coverying all details with example and especially covering how we are using oops concept as well in this POM.
    Thank you again !

  • @coolcrafts5587
    @coolcrafts5587 3 ปีที่แล้ว +1

    Thx , clearly explained

  • @santhoshtn7024
    @santhoshtn7024 4 หลายเดือนก่อน

    It was such a great thoughts and information shared across all of us used to make violating such best practices in Page object model design patterns.

  • @vijaybhagat1868
    @vijaybhagat1868 4 ปีที่แล้ว +1

    Hey Naveen, will u plz make video on how to automate kendo(angular ui) drop-down in selenium web driver???.....plz Naveen I'm stuck at it badly...

  • @avinashhinge9118
    @avinashhinge9118 2 ปีที่แล้ว +1

    Thanks..keep it up🙏

  • @vijayarnold1405
    @vijayarnold1405 2 ปีที่แล้ว +1

    super explanation sir, in fact, I was not had confident about what exactly is the automation fame work you clear it more detailed manner thank you.

  • @ajaylachipathruni1438
    @ajaylachipathruni1438 4 ปีที่แล้ว +2

    Awesome explanation Naveen, it would help us a lot

  • @sksingh329
    @sksingh329 4 ปีที่แล้ว +1

    Thanks Naveen for sharing this video.. as I remember you already have detailed tutorials on Page Object Model and I have referred that before for understanding. Very well explained in this video on whiteboard and rightly said assertions should not be there on POM class at all.

  • @minalpatel9631
    @minalpatel9631 4 ปีที่แล้ว +1

    Hi Naveen thank you for POM Model, I have one question
    What is the difference between POM and Page factory Model?

  • @mohithemnani6892
    @mohithemnani6892 4 ปีที่แล้ว +1

    Thanks for sharing the knowledge & Awesome video with very nice explanation & content. Keep up the good work. 🙏🙏

  • @BhaktiDhara1612
    @BhaktiDhara1612 8 หลายเดือนก่อน +1

    Clear explanations, insightful tips. Makes automation concepts click!

  • @venkatakasula8646
    @venkatakasula8646 4 ปีที่แล้ว +1

    Hi Naveen garu, Very nice understandable Approach . Nobody can share real time knowledge like you. You really helped for them who are trying for job. Good efforts Naveen, keep rocking. Thank you.

  • @douglasfugazi
    @douglasfugazi 2 ปีที่แล้ว

    Thanks for sharing this explanation. I would like to know if there is a GitHub link to see the example of this video. Best regards.

  • @santoshkpl2088
    @santoshkpl2088 4 ปีที่แล้ว +1

    Thank you very much sir.. Nice explanation specially in whiteboard felt like more better neatly explained.

  • @sagardhawan7184
    @sagardhawan7184 3 ปีที่แล้ว +1

    Thank you Naveen for sharing the precise and detailed version of POM, with great suggestions- how to use Assertions and all. It would be great help from your side, if you can help us with CI, CD Tools such as Azure Devops and Jenkins. Please suggest.

  • @rajeshrj6538
    @rajeshrj6538 4 ปีที่แล้ว +2

    Concepts selected for whiteboard series are awesome!!!💯

  • @9745754904
    @9745754904 4 ปีที่แล้ว +1

    Thanks naveen.for this.amazing session.. Just one doubt ,do every method need to.return or just if need to.validation then.only.need.to.return

  • @JustTry85
    @JustTry85 4 ปีที่แล้ว +1

    Naveen !! Its really awesome . I learned many things from you. Thanks for teaching us. Great Job, God bless !!

  • @chiragbansod4003
    @chiragbansod4003 4 ปีที่แล้ว +1

    Hi Naveen I am currently using NUnit and like testng.xml we don't have a runner there ... So my assertions are present in the page class itself ... What could be done here in this case ?

  • @ganeshtekale8777
    @ganeshtekale8777 4 ปีที่แล้ว +1

    Thanks Naveen Plz provide Demo project with pom

  • @hasmukhrpatel
    @hasmukhrpatel 11 หลายเดือนก่อน

    NaveenSir, in project directory structure where should we keep pages packages? under src/main or src/test

  • @shivu2012
    @shivu2012 ปีที่แล้ว

    Hi Naveen, Thanks for your videos. I have a doubt, If a method returns object of its next landing page, how to use that object in its landing page method. Please explain that. Do we have to assign the returning method to any reference variable in the landing page and use that reference variable to use the landing page methods?. i do not know about it. Pl reply.

  • @lincygeorge3853
    @lincygeorge3853 3 ปีที่แล้ว

    Hi Naveen, i'm from cochin and have real experience in selenium and java,..but took a break from career due to family issues..can I get back to work any possibility..

  • @vinavmevada8419
    @vinavmevada8419 2 ปีที่แล้ว +1

    Great explanation for POM. These 3 rules are very important in page object.
    Really appreciate your efforts.🙏

  • @tomd5678
    @tomd5678 3 ปีที่แล้ว +1

    Yup, this make sense to me and similar to how I've aproached the stuff I've done up to now. This video has made me think and I've learnt quite a lot

  • @koushikthelukala2057
    @koushikthelukala2057 4 ปีที่แล้ว +1

    Naveen,
    Thanks for the practical session 😊.
    Can you explain the same in theoretically🙏.
    Thanks in Advance😉.

  • @taniyasharma8924
    @taniyasharma8924 3 ปีที่แล้ว +1

    Thank you so much for the video. This cleared all my doubts☺️

  • @dnyandeokumbhar1406
    @dnyandeokumbhar1406 2 ปีที่แล้ว

    Useful, is ur classes available in pune ! The way ur explaining things just Awesome… 🙏🏻

  • @saimanikandanv2300
    @saimanikandanv2300 4 ปีที่แล้ว +1

    Excellent explanation and becoming fan of your white board lessons. Please make a video on explaining different selenium design patterns

  • @lingeshsd3213
    @lingeshsd3213 4 ปีที่แล้ว +1

    really helpful video... I also did the same mistakes as you mentioned in a video like doing assertions in page class itself. now got a good idea about best practices sure I will update and change things in my script. It will be nice to do this thing as practically and make a video of this with some real scenario. it will be more useful and get more understanding to implement those things

  • @SagarSharma-qe7yj
    @SagarSharma-qe7yj 3 ปีที่แล้ว +1

    This is the best ever video to understand the distribution of POM pattern, very good for beginners!!! Thank you Naveen!

  • @shivaprasad8804
    @shivaprasad8804 4 ปีที่แล้ว +1

    Thank you so much for this clarification ❤️... Otherwise I would have continued using the wrong approach 🙏

  • @sankalp_s_rao
    @sankalp_s_rao 4 ปีที่แล้ว +1

    Stunning work Naveen. Amazing explanation of the concepts. Thank you so much.

  • @diana_str
    @diana_str 8 หลายเดือนก่อน +1

    Thank you!

  • @RX-Ani
    @RX-Ani 3 ปีที่แล้ว

    If a project has more than 1 application, then do we need to create separate projects for each application or integrate all the applications in one Project(framework)? All testcases in one project?
    Can we have different framework for different applications?
    Please suggest/Make a video.

  • @AJAUTOMATION
    @AJAUTOMATION 4 ปีที่แล้ว +2

    I always love the way you teach us and this is an another example of it. Many thanks for your time and knowledge sharing 🙏

  • @deepakdara3651
    @deepakdara3651 4 ปีที่แล้ว +1

    Thanks Bro...Explained well ...looking forward for more sessions...🤝🤝

  • @dipanpatel7323
    @dipanpatel7323 3 ปีที่แล้ว +1

    Hi Naveen, Thank you very very much for whiteboard explanation. This is really great. Would you make simple coding as sample so that we can follow it and extends for project ? 🙏🙏

  • @sakuntalamondal8732
    @sakuntalamondal8732 2 ปีที่แล้ว +1

    Very nice video

  • @adarshsingh4982
    @adarshsingh4982 4 ปีที่แล้ว +2

    because of u sir I am surviving in this industry

  • @shrutidas9227
    @shrutidas9227 2 ปีที่แล้ว

    Really very nice and informative video cleared my most of the doubts, I just have one more doubt, how we will handle the driver instance in Test Class. as we need to create object for page class by passing the driver as argument. In order to have Page class methods in @Test

  • @svetlanamazhaykina6918
    @svetlanamazhaykina6918 6 หลายเดือนก่อน +1

    Thanks for your work, Naveen! Well done!

  • @pranavgupta4577
    @pranavgupta4577 3 ปีที่แล้ว +1

    It felt like the next level of confidence, after seeing your videos Naveen. :)

  • @piyushmathpal4244
    @piyushmathpal4244 4 ปีที่แล้ว +1

    Thanks for the KT Naveen.
    My manager wasn't convinced with the rule of Sr. Matrin Fowler .
    Instead he argued like why can't we follow that approach and defended saying "Whats the disadvantage if we follow continue ?". I explained him the exact concept about design patterns and all stuffs. But, he wasn't convinced. How do I make him follow the good approach?

    • @prachijadhav4500
      @prachijadhav4500 4 ปีที่แล้ว +2

      Hi Piyush, here I am keeping my thoughts on assertions. what I understood is every method only serving a purpose of providing behaviour not validation. As I found in my project, for eg. Where i have to validate title on one page for one user in one test and for other user, on the same page title should not be present. That was the scenario. Obviously for both the users , we will not create 2 seperate pages or to get title text, we will not create 2 seperate methods. So if you use assert here, obviously it will only check title is present. So for second user , if i use same method , then my second test case will go always failed. So that if we use in test class, assertions and method only returns the text for verification , it will be reusability of the same method. This is what I observed.@Naveen sir, please let me correct if I am thinking wrong. thanks

    • @piyushmathpal4244
      @piyushmathpal4244 4 ปีที่แล้ว

      @@prachijadhav4500 satisfactory

    • @pranaydheer
      @pranaydheer 3 ปีที่แล้ว

      @@prachijadhav4500 why would a page have two different page title. why would 1 user test for title exist on a page and another user check for title does not exist on the same page.

    • @prachijadhav4500
      @prachijadhav4500 3 ปีที่แล้ว

      @@pranaydheer I have just given an example of title. You can take any other element on page or any menu on page which might be accessible for some clients and for some clients its not. The basic thing is Assertion should be in class level not in method level.

  • @NehaKumari-hn4uk
    @NehaKumari-hn4uk ปีที่แล้ว

    Hi ,naveen I please upload video on flipkart automation in flipkart one pop ups coming and I am able to handle through switching alert nor giving direct xpath

  • @NehaKumari-hn4uk
    @NehaKumari-hn4uk ปีที่แล้ว

    Hi ,naveen I please upload video on flipkart automation in flipkart one pop ups coming and I am able to handle through switching alert nor giving direct xpath

  • @NehaKumari-hn4uk
    @NehaKumari-hn4uk ปีที่แล้ว

    Hi ,naveen I please upload video on flipkart automation in flipkart one pop ups coming and I am able to handle through switching alert nor giving direct xpath

  • @sambhasin4
    @sambhasin4 4 ปีที่แล้ว +1

    Thanks Naveen for amazing explanation of Page Object.

  • @vaishalijain3266
    @vaishalijain3266 2 ปีที่แล้ว

    Thanks for teaching us. God bless !! appricate your efforts

  • @vishnuverma6587
    @vishnuverma6587 3 ปีที่แล้ว +1

    Hello naveen please show us the way of parallel test case writing. Will be pleasure to learn from you.

  • @bibhutijha1598
    @bibhutijha1598 3 ปีที่แล้ว

    Hi @Naveen just a suggestion , can you please use a microphone for a better sound quality

  • @deepakdange5530
    @deepakdange5530 2 ปีที่แล้ว

    Hi naveen, Can you plz explain how to write datadriven annotation without using webdriver api in test class...I am not getting this

  • @dhanashreeshinde9366
    @dhanashreeshinde9366 4 ปีที่แล้ว +1

    Your sessions really helped to understand lot of automation concepts...thank you very much...

  • @sonyjoseph1498
    @sonyjoseph1498 7 หลายเดือนก่อน

    Nice videos.. Pls improve the audio quality

  • @hemadrikurapati232
    @hemadrikurapati232 3 ปีที่แล้ว

    what is the best approach if we have 100+ or 500+ pages??...Do we have to create page class for each page ,if not then what is the best approach in this scenario....

  • @aditisoni921
    @aditisoni921 4 ปีที่แล้ว +1

    Appreciate the WHITEBOARD approach. 👍.. kind of old school but also works best.. coz it involves the instructor, their actions as well as their knowledge imparting all together in one frame..
    Also heads off👏 to your efforts.. you cover
    Thanks for letting us introduced to new concepts in Testing world..🙏

  • @nikhilsharma2512
    @nikhilsharma2512 3 ปีที่แล้ว

    Hi
    Means We should not use driver.GetTitle() in Test class Right sir?

  • @RX-Ani
    @RX-Ani 3 ปีที่แล้ว

    Sir Please make a video on Automation coding standards to be followed..

  • @gouravp5458
    @gouravp5458 4 ปีที่แล้ว +1

    Great Job Naveen! Keep teaching us..Thanks

  • @himanshuarora166
    @himanshuarora166 4 ปีที่แล้ว +1

    Thanks Naveen for a wonderful session. Each video makes me respect you even more

  • @dan754513
    @dan754513 ปีที่แล้ว

    video is really good and informational but get a mic and put it closer to you so you can make good quality video with clear voice, in this video voice is not clear

  • @naje012nj
    @naje012nj ปีที่แล้ว +1

    Awesome explanation Naveen, very impressive

  • @navneetkaur6606
    @navneetkaur6606 3 ปีที่แล้ว +1

    amazing content.. you are a bliss for every one who wants to learn

  • @HiPh0Plover1
    @HiPh0Plover1 3 ปีที่แล้ว

    what is the most widely used pattern for web automation functional and non functional ?

  • @shravan35
    @shravan35 4 ปีที่แล้ว +1

    Wow just WOW! How do you even think of creating such core concepts video. Hats off to you for covering each minute part :-)

  • @sureshkassa8949
    @sureshkassa8949 4 ปีที่แล้ว +2

    U r automation guru

  • @artimandale8286
    @artimandale8286 3 หลายเดือนก่อน

    Simply amazing, thank you Naveen

  • @frogdissector1096
    @frogdissector1096 3 ปีที่แล้ว

    Oops he wiped the whiteboard before I could take screenshot :(

  • @girishkn6156
    @girishkn6156 2 ปีที่แล้ว

    Can we design nunit +parallel testing +page object model in c#

  • @saranyas2213
    @saranyas2213 4 ปีที่แล้ว +1

    Keep going. You're doing great services to all🙏🙏🙏

  • @bkesav3
    @bkesav3 4 ปีที่แล้ว +1

    Thank you so much Naveen. Crisp and clear.

  • @gunjankapoor9163
    @gunjankapoor9163 4 ปีที่แล้ว +1

    Thanks for letting know what assertions should not be used in Page class but in Test class.

  • @nurlanshukurlu
    @nurlanshukurlu 4 ปีที่แล้ว +1

    Naveen, thank you for great video! I really hope will see soon Git repository consept here on whiteboard

  • @shahavejsiddiqui9897
    @shahavejsiddiqui9897 4 ปีที่แล้ว +1

    Great !!!
    Totally agree..
    ☺️☺️