Эта строка WebDriver driver = new ChromeDriver();
выполняется до того, как вы установите необходимое свойство для установки пути к исполняемому файлу:
System.setProperty("webdriver.chrome.driver", "C:/webdrivers/chromedriver81/chromedriver.exe");
Вы можете либо установить значение свойства в stati c блок инициализации
public class HomePage{
static{
System.setProperty(blah-blah);
}
WebDriver driver = new ChromeDriver();
// ..
}
или создайте новый драйвер в @BeforeTest
после того, как вы установили значение свойства пути к исполняемому файлу. Последний вариант более естественен .
PS - я не уверен, но даже если использовать исправление с инициализацией stati c, ваш код может работать некорректно, так как TestNG может повторно использовать объект тестового класса, и, поскольку вы завершаете драйвер, второй тест вашего класса не сможет запуститься (если вы добавите второй тест).