package ru.stqa.trainings.testng.tricky2.sample29;
import java.io.File;
import java.lang.reflect.Method;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import ru.stqa.selenium.factory.WebDriverFactory;
public class MyTest {
private WebDriver driver;
private VideoCreator screencaster;
private Thread videoThread;
@BeforeClass
public void startDriver() {
driver = WebDriverFactory.getDriver(DesiredCapabilities.firefox());
}
@BeforeMethod
public void setUp(Method m) {
File videoFile = new File(m.getName() + ".flv");
screencaster = new VideoCreator(videoFile);
videoThread = new Thread(new Runnable() {
@Override
public void run() {
screencaster.createVideoFromScreens();
}
});
videoThread.start();
}
@Test
public void test1() {
driver.get("http://www.seleniumhq.org/");
}
@Test
public void test2() {
driver.get("http://selenium2.ru/");
}
@AfterMethod(alwaysRun = true)
public void tearDown() throws InterruptedException {
Thread.sleep(2000);
screencaster.setPleaseStop(true);
while (! screencaster.isStoppedCreation()) {
Thread.sleep(500);
}
videoThread.join();
}
@AfterClass(alwaysRun = true)
public void stopDriver() {
WebDriverFactory.dismissDriver(driver);
}
}