Hi Mukesh, Webdriver is an Interface and Search Context is also an interface however in code it mentions Webdriver extends Search Context instead of implements Search Context both being an interface.. The second question is ChromeDriver driver = new ChromeDriver() is more beneficial to use than WebDriver driver = new ChromeDriver() but the later is in good practice..
You will miss runtime polymirpysn advantage if you use chrome driver instead of Webdriver. Also one interface can extend another interphase if both are created by different people or vendor.
This guy is better than naveen,, he explains everything in a much better way then him whereas naveen looks confused to me (which happens when u don't have in depth knowledge of the topic u explaining)
Interesting video.... Can you tell me if this can be used... I have not used selenium grid so I dont know if this is even a valid question or not... Can we use RemoteWebDriver driver = new ChromeDriver(); If we can use then what is the benefit of using this? Thanks in advance
@@Mukeshotwani Thanks for your reply.... so then I think I will not get methods of Chromium and ChromeDriver classes as you've told in the video.... Thanks. Its nice to be informative about the new version of Selenium
Hey Mukesh, thanks for the video, small doubt here: We generally write WebDriver driver = new ChromeDriver() rather than, ChromeDriver driver = new ChromeDriver() Though with the second statement, we can access all methods till SearchContext.. Is this because we want to keep the concept of Abstraction intact... Please clarify.
@@Mukeshotwani Can we write RemoteWebDriver rwd = new ChromeDriver(); Or RemoteWebDriver rwd = new FirefoxDriver(); Always, instead of WebDriver driver = new ChomeDriver(); Bcz all methods that are in RemoteWebDriver, also common for All browsers Is there will be any drawback by using RemoteWebDriver reference variable always , internally???? Plz explain
Hi Mukesh, Thank you for the explanation. I am looking for a video where you have explained about TestNg Annotations like @BeforeSuite, @BeforeTest, @Before Class Etc. Their execution priority. Can you please share the link I am not able to find it? Thanks
Hi Mukesh Can u please share the video link where u have explain the concept behind WebDriver driver = new ChromeDriver(); I have not found that video .. Can u please share the link of that video it will very helpful for me Thanks
Hey Mukesh , Thanks for this video, I am working on selenium from last one year but everytime I forgot the java concepts though I tried to learn Java several times. Can you provide your advice or suggestions that will be of much help.
Hi Shobhit, this happens with me too if I dont code for 6 months. Suggestion would be that you need to work on projects or some personal projects where you will be using the Java concepts.
@@Mukeshotwani Thank you so much Mukesh for your reply. Mera yeh request hai ki testers ke liye alternative career options kya hai jo semi-technical ho in nature. Actually females ko kaafi baar career break lena padta hai and restarting mushkil ho jata hai. Plz HR ya waise kuch suggest mat kijiye ga. And with age experience to gain hota lekin har samay technically updated rehna possit nahi hota. To kya kya options ho sakti hai?. Actually yeh baatein koi discuss nahi karta. Aapka and Naveen ji ka video maine dekha tha. Aap log bohot ache lage lagte hain mujhe. Plz agar ek video banai. I am sure bohot logon ke maan mein yeh question hoga.
Hi Mukesh, At 4.16 you said if we are writing WebDriver driver = new ChromeDriver(); then we can only access webdriver merthods and its parent interface methods. i get bit confused here. I wrote below sample code to understand the statement interface SearchCotext{ public int mul(int a, int b); } class WebDriver implements SearchCotext{ public int mul(int a, int b){ return a*b; } } class ChromeDriver extends WebDriver{ public int mul(int a, int b){ return a*a*b; } } public class Test { public static void main(String args[]) { WebDriver driver = new ChromeDriver(); // ChromeDriver driver = new ChromeDriver(); System.out.println(driver.mul(2,3)); } } o/p is 12. According to your statement output should be 6 as it can only access webdriver methods. Please clarify my doubt if am doing anything wrong here...
Since he hasnt replied to you. WebDriver is an Interface and cannot have implementations. Hence, your mul will execute based on implementation inside ChromeDriver class
@@Mukeshotwani Sir i want a suggestion, I hope u will reply. I am BCA Graduated 2018. I have worked 2 years in non IT background (BPO). Now i have joined an internship for manual testing. I have also basic knowledge of selenium and core java.. I don't know what i have to do in my career how i became an automation engineer..I don't know after internship i will be permanent over there or not. Plz guide me what i have to do side by side with my internship
Best instructor ever with in depth knowledge, we are lucky to have you with us.
Thanks mukesh for your efforts
Thanks a ton
Sir, hats off to U ...Indepth explanation of Selenium WebDriver Hierarchy ... I never ever seen before....
Thank you Sandip Bhai
Thanks Mukesh.
You are doing a great job by providing so much informative content.
Really loved the explaination.
Thanks a lot.
Thanks a ton Ashtesh
Thank You, Mukesh Ji, for sharing this information with us.
So nice of you Krishna ji.
Always I wanted to see these internal details to get clarity. Thanks for showing the source code too. :-)
Glad it was helpful! Venu
Mukesh sir thank you so much ,i was not knowing about this selenium hierarchy ..it was so easy explanation. 🙏
Thank you Goury
This video overrides all my doubts thank you very much sir 🙏
So nice of you
Thanks for the selenium hierarchy insights. Please throw some light on How selenium automation actually works with browsers.
Hey RK I have video on this too. ua-cam.com/video/O1ZfEyR_iLw/v-deo.html
Selenium 4 use W3C standard which I will try to cover in upcoming videos.
@@Mukeshotwani thanks Mukesh
Hi Mukesh, Webdriver is an Interface and Search Context is also an interface however in code it mentions Webdriver extends Search Context instead of implements Search Context both being an interface.. The second question is ChromeDriver driver = new ChromeDriver() is more beneficial to use than WebDriver driver = new ChromeDriver() but the later is in good practice..
You will miss runtime polymirpysn advantage if you use chrome driver instead of Webdriver. Also one interface can extend another interphase if both are created by different people or vendor.
Hi Mohit, agree with Naresh + when you work with cross browser in that case you need WebDriver reference which can be used for all browsers.
Sir it's Just superb... no words👍...thanku soooo much 👍🙏
Thank you Utkarsha ☺️
Great explanation.... Nice and useful videos..... 👌........ But the picture frame behind feels like why this picture without any art 😝😝
Thank you Renu ... 😍 I miss this frame in current videos.
This guy is better than naveen,, he explains everything in a much better way then him whereas naveen looks confused to me (which happens when u don't have in depth knowledge of the topic u explaining)
Thank you Rk 😍 It means alot to me.
@@Mukeshotwani Thank You Sir 🙏
This video is a life saver , thank you sir!
Glad it helped! Deem
Nice explanation mukesh bhai.
Thank you so much 😀 Naresh bhai
Very nicely captured all the basic steps
Thanks Akila
Thank you Mukesh,Nice Video..It's very useful ...
Glad you liked it Thank you Jyoti
Thank you mukesh this is a very helpful
Happy to help. Thank you Madhavi
Thank you so much for explain properly
Glad it was helpful!
Thanks for this video.. and congratulations for 100k subscribers .. cheers :)
Than you Sharma ji Cheers 😍
Thank you sharing sir. Please explain us selenium 4.0 sir
Coming soon Pandu
Keep making these amazing content ✌ you are almost close to 100k...
🎉 so close. Thank you Girish
Thank You So Much Mukeshji.
Most welcome Sushil bhai
Much needed.Thanks
Please explain about Github
Thanks Orinake, working on Git and Github videos.
Thank you Very helpful video...please make a video on hybrid framework and data driven framework in details
Hi Ankur, I already have videos on my channel. Here are the links
ua-cam.com/video/_7XJenTvR34/v-deo.html
ua-cam.com/video/vFXL4nMWvXI/v-deo.html
Best one sir 🙂 thank you 🙂
Thank you Rajesh bhai. Keep learning.
Thats very detailed and knowledgeable, thank you 😊
Thank you! Great video!
Glad it helped! Thanks Mihai
Interesting video.... Can you tell me if this can be used... I have not used selenium grid so I dont know if this is even a valid question or not...
Can we use
RemoteWebDriver driver = new ChromeDriver();
If we can use then what is the benefit of using this?
Thanks in advance
Hi Ranjit, its valid question.
Yes You will get extra method of RemoteWebDriver class too which you can use.
@@Mukeshotwani Thanks for your reply.... so then I think I will not get methods of Chromium and ChromeDriver classes as you've told in the video....
Thanks. Its nice to be informative about the new version of Selenium
God bless you brother
Thank you Abhijit
Excellent video
Thank you very much! Bhai
Can we use ChromeDriver as generic in ThreadLocal ?
I am trying on this
Yes only when u need Chrome
Hey Mukesh, thanks for the video, small doubt here:
We generally write
WebDriver driver = new ChromeDriver()
rather than,
ChromeDriver driver = new ChromeDriver()
Though with the second statement, we can access all methods till SearchContext.. Is this because we want to keep the concept of Abstraction intact... Please clarify.
Yes, correct but we just need WebDriver methods will is common to all browser.
@@Mukeshotwani Can we write RemoteWebDriver rwd = new ChromeDriver();
Or
RemoteWebDriver rwd = new FirefoxDriver();
Always, instead of WebDriver driver = new ChomeDriver();
Bcz all methods that are in RemoteWebDriver, also common for All browsers
Is there will be any drawback by using RemoteWebDriver reference variable always , internally????
Plz explain
yes you can write that too , in that case you will get all methods of Remote Webdriver too.
@@Mukeshotwani thank a lot for quick response
Hi Mukesh, Thank you for the explanation. I am looking for a video where you have explained about TestNg Annotations like @BeforeSuite, @BeforeTest, @Before Class Etc. Their execution priority. Can you please share the link I am not able to find it? Thanks
Thank you this wonderful explaination....congratulations for 100k subcriptions 🎊🎉
Thank you so much 😀 Prateek bhai
very very usefull! Thanks
You're welcome! Tej
Thank you mukesh sir.. i have one question, can u pls tell me the abstract class present in selenium library..??
By class is Abstract class
Hi Mukesh
Can u please share the video link where u have explain the concept behind
WebDriver driver = new ChromeDriver();
I have not found that video ..
Can u please share the link of that video it will very helpful for me
Thanks
Hi Wasim, here is the link ua-cam.com/video/6Er5pIEiscI/v-deo.html
Hey Mukesh ,
Thanks for this video, I am working on selenium from last one year but everytime I forgot the java concepts though I tried to learn Java several times.
Can you provide your advice or suggestions that will be of much help.
Hi Shobhit, this happens with me too if I dont code for 6 months. Suggestion would be that you need to work on projects or some personal projects where you will be using the Java concepts.
Hi Mukesh,
1>why, chrome driver is extending chromium driver why it cant directly access remotewwebdriver.
Thats how the implementation is done in Selenium 4. Selenium 3 was extending direct RemoteWebDriver.
Thanks BrO! ALL THE BEST
Waiting to see 1lakh subscribers
Thanks buddy, me too waiting badly.
@@Mukeshotwani Will make it soon and celebrate Mukesh
@@Mukeshotwani Hope will make it happened by this weekend :)
Hey Mukesh, Finally we made it. Congratulations
can you explain about the webdriver wait class can we use it with remotewebdriver instead of webdriver
Bro is amazing.
Thank you sir.
Can you please also explain TestNG framework ?
ua-cam.com/video/OTtFSnZY4f8/v-deo.html
In Video , Add your Video Section in less crop mode , 'coz its occupying most of the Content
Thank you girish for feedback, I will keep in mind for upcoming videos.
Hey Mukesh what version of Java can we install if we want to learn Selenium?
Hi Ananya you can use any version but Selenium is mostly compatible with Java 8.
@@Mukeshotwani Thanks Mukesh. Aapse ek request hai.
Han ji Bikhul boliye
@@Mukeshotwani Thank you so much Mukesh for your reply. Mera yeh request hai ki testers ke liye alternative career options kya hai jo semi-technical ho in nature. Actually females ko kaafi baar career break lena padta hai and restarting mushkil ho jata hai. Plz HR ya waise kuch suggest mat kijiye ga. And with age experience to gain hota lekin har samay technically updated rehna possit nahi hota. To kya kya options ho sakti hai?. Actually yeh baatein koi discuss nahi karta. Aapka and Naveen ji ka video maine dekha tha. Aap log bohot ache lage lagte hain mujhe. Plz agar ek video banai. I am sure bohot logon ke maan mein yeh question hoga.
Hi Mukesh,
At 4.16 you said if we are writing WebDriver driver = new ChromeDriver(); then we can only access webdriver merthods and its parent interface methods. i get bit confused here. I wrote below sample code to understand the statement
interface SearchCotext{
public int mul(int a, int b);
}
class WebDriver implements SearchCotext{
public int mul(int a, int b){
return a*b;
}
}
class ChromeDriver extends WebDriver{
public int mul(int a, int b){
return a*a*b;
}
}
public class Test {
public static void main(String args[]) {
WebDriver driver = new ChromeDriver();
// ChromeDriver driver = new ChromeDriver();
System.out.println(driver.mul(2,3));
}
}
o/p is 12. According to your statement output should be 6 as it can only access webdriver methods. Please clarify my doubt if am doing anything wrong here...
Since he hasnt replied to you.
WebDriver is an Interface and cannot have implementations.
Hence, your mul will execute based on implementation inside ChromeDriver class
Thanks Komroni
🔥
Thanks Sir..
Most welcome Vikas
@@Mukeshotwani
Sir i want a suggestion, I hope u will reply.
I am BCA Graduated 2018. I have worked 2 years in non IT background (BPO).
Now i have joined an internship for manual testing.
I have also basic knowledge of selenium and core java..
I don't know what i have to do in my career how i became an automation engineer..I don't know after internship i will be permanent over there or not.
Plz guide me what i have to do side by side with my internship
How can we explain for python.. world be great if you can take up python selenium in a separate video. Thanks.
Great suggestion! Rizwan will try for python too.
Need this in python
sure will try.
@@Mukeshotwani thanks a lot, waiting for it, subscribed and pressed 🔔 icon to receive notification.
I am confuse but when heard ur video all vanishes
Such a nice compliment Thanks mate
It is too advanced. Can you please simplify it, and take us step-by-step?