В TestBase.java у вас есть статическая переменная с именем prop
, которая не инициализирована.
Затем, внутри вашего блока try в конструкторе, вы делаете это:
Properties prop = new Properties();
Это создает новую локальную переменную с именем prop
, которая скрывает статическую переменную и вообще не изменяет статическую переменную prop
, поэтому она остается нулевой. Все операции в этом блоке try, который ссылается на prop
, используют эту локальную переменную, а не статическую переменную.
Затем, когда вы доберетесь до
String browser=prop.getProperty("browser");
Вы пытаетесь вызвать метод из этой нулевой переменной, что приводит к исключению, которое вы видите.
Решение состоит в том, чтобы изменить конструктор, чтобы иметь:
prop = new Properties()