RE: Why we assign firefoxdriver instance to webdriver
WebDriver is an Interface
FirefoxDriver is a class
Although there is no difference in functionality, we use WebDriver when we have a plan to run our script on multiple browsers by calling Webdriver interface.
If we use FirefoxDriver than it’s like hard coding for only Firefox browser.
So use them as accordingly.