Когда вы напрямую запускаете свой @Test, я предполагаю, что вы используете какую-то IDE и щелкаете правой кнопкой мыши аннотацию @Test и запускаете ее.
Если это так, есть вероятность, что ваш @ BeforeMethod не вызывается, поэтому WebDriver выглядит как null
Чтобы проверить это, вы можете отладить или поставить какой-нибудь оператор print для проверки.
Используйте приведенный ниже код для проверки ошибки, если вы НЕ ОТЛАДЫВАЕТЕСЬ (только что изменили свой код)
public class MyDriverManager {
private WebDriver webdriver;
@BeforeClass
public static void beforeClass()
{
WebDriverManager.chromedriver().setup();
WebDriverManager.firefoxdriver().setup();
WebDriverManager.edgedriver().setup();
}
@BeforeMethod
public void beforeMethod()
{
System.out.println( " control is inside beforeMethod now");
webdriver=new ChromeDriver();
webdriver.manage().window().maximize();
}
@AfterMethod
public void AfterMethod()
{
webdriver.close();
}
@Test
public void test()
{
System.out.println( " control is inside test method now");
webdriver.get("http://www.google.com/");
}
}