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