package io.github.boykaframework.testng.ui.saucedemo;
import static io.github.boykaframework.actions.drivers.DriverActions.withDriver;
import static io.github.boykaframework.actions.drivers.WindowActions.onWindow;
import static io.github.boykaframework.manager.ParallelSession.clearSession;
import static io.github.boykaframework.manager.ParallelSession.createSession;
import static io.github.boykaframework.manager.ParallelSession.getSession;
import static com.google.common.truth.Truth.assertThat;
import io.github.boykaframework.enums.PlatformType;
import io.github.boykaframework.testng.ui.saucedemo.actions.SauceDemoActions;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class SauceDemoTest {
private SauceDemoActions sauceDemo;
@AfterMethod (alwaysRun = true)
public void afterMethod () {
onWindow ().takeScreenshot ();
}
@BeforeClass (description = "Setup test class", alwaysRun = true)
@Parameters ({ "platformType", "driverKey" })
public void setupTestClass (final PlatformType platformType, final String driverKey) {
createSession ("SauceDemoTest Persona", platformType, driverKey);
this.sauceDemo = new SauceDemoActions ();
}
@AfterClass (description = "Tear down test class", alwaysRun = true)
public void tearDownTestClass () {
withDriver ().saveLogs ();
clearSession ();
}
@Test (description = "Test login functionality")
public void testLogin () {
this.sauceDemo.verifyLogin ("standard_user", "secret_sauce");
}
}