All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.serenitybdd.screenplay.playwright.interactions.OpenPageFromClass Maven / Gradle / Ivy

There is a newer version: 4.2.9
Show newest version
package net.serenitybdd.screenplay.playwright.interactions;

import net.serenitybdd.core.pages.PageObject;
import net.serenitybdd.core.pages.PageUrls;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.annotations.Step;
import net.thucydides.core.pages.Pages;
import net.thucydides.model.util.NameConverter;

public class OpenPageFromClass implements Interaction {

    private final String targetPageName;
    private final Class targetPageClass;

    public OpenPageFromClass(Class targetPageClass) {
        this.targetPageClass = targetPageClass;
        this.targetPageName = NameConverter.humanize(targetPageClass.getSimpleName());
    }

    public OpenPageFromClassWithParameters withParameters(String... parameters) {
        return new OpenPageFromClassWithParameters(targetPageClass, targetPageName, parameters);
    }

    @Step("{0} opens the #targetPageName")
    public  void performAs(T actor) {
        PageObject targetPage = new Pages().getPage(targetPageClass);
        String url = new PageUrls(targetPage).getStartingUrl();
        actor.attemptsTo(Open.url(url));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy