I have test class defined as this-
public class Sample extends BaseTest {
private LoginPage loginPage;
@Override
public void initialize() {
    loginPage = createInstance(LoginPage.class)
    browserContext = getBrowserContext();
}
@Test(testName = "sampleTestName", retryAnalyzer = RerunFailedTestCases.class)
public void sampleTestName() {
    loginPage.performLogin();
    loginPage.validateLogInSuccessful();
}
In BaseTest I am initializing BrowserContext and enabling video recording for the tests-
public abstract class BaseTest {
protected BrowserContext browserContext = browser.newContext(new Browser.NewContextOptions()
        .setIgnoreHTTPSErrors(true)
        .setPermissions(Arrays.asList("geolocation"))
        .setRecordVideoDir(Paths.get(VIDEOS_DIR)));
}
My requirement is-
- Record video of test with testMethod name
- only keep video of the failed tests
 
     
    