Помогите подключить Allure к проекту Java + TestNG + Maven

Сорри, а у вас случаем в трех методах не одно и то же onTestFailure, onTestSuccess, onTestSkipped ?
Вы передаете ITestResult result, но не проверяете его - скриншоты будут при любом результате

http://testng.org/javadoc/org/testng/ITestResult.html

Ми використовуємо Selenide. WebDriver - це один із його класів, при визові getWebDriver() він повертає інстанс актуального драйвера для потоку в якому він працює, можете подивитись в “нутрях” що там і до чого, aле можна написати і свій aka WebDriverManager який все те саме робить привязує драйвери до threads ну і прочі штуки робить, щоб уникнути використання Selenide.
Виглядає приблизно так:

і так