Testing factory and beforemethod
First of all, calling your super class "Browsers" is wrong, because it doesn't have anything to do with browsers. It is probably a TestBase class, if your Test extends it. 
You don't have to have duplicates and you don't have to have a constructor in your base class. Tests doesn't care about what browser it is executed on, so you should handle this information in TestBase class (currently Browsers). Personally I handle it in configuration/properties file. In that case I can switch easily and modify values from continuous integration server (i.e TeamCity).