cucumber-junit5-framework/src/test/java/cucumber/Stepdefs.java

64 lines
1.7 KiB
Java

package cucumber;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.UnreachableBrowserException;
import tools.BrowserDriver;
import static org.junit.jupiter.api.Assertions.fail;
public class Stepdefs {
private String url;
protected RemoteWebDriver driver;
@Before
public void setUp() {
url = "https://test.io/";
}
@After
public void tearDown() {
if (driver!=null) {
driver.quit();
}
}
@Given("I have a driver for {string}")
public void i_have_a_driver_for(String browser) {
Boolean headless = true;
if (browser.contains("safari")){
System.out.println(System.getProperty("os.name"));
if (!System.getProperty("os.name").contains("Mac OS X")){
throw new UnreachableBrowserException("Safari browser not available on this platform");
}
headless = false;
}
driver = new BrowserDriver(browser, headless).getDriver();
}
@When("I navigate to test.io")
public void i_navigate_to_test_io() {
driver.get(url);
if (!driver.getCurrentUrl().equals(url)){
fail("Browser navigation failed");
}
}
@Then("The page is displayed")
public void the_success_message_is_displayed() {
Assertions.assertEquals("QA Testing as a Service | test IO", driver.getTitle());
}
public String getOperatingSystem() {
String os = System.getProperty("os.name");
return os;
}
}