package net.serenitybdd.screenplay.jenkins.tasks; import net.serenitybdd.screenplay.jenkins.user_interface.JenkinsHomePage; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Click; import net.thucydides.core.annotations.Step; import static net.serenitybdd.screenplay.Tasks.instrumented; public class ScheduleABuild implements Task { public static Task of(String project) { return instrumented(ScheduleABuild.class, project); } @Override @Step("{0} schedules a build of the '#project' project ") public <T extends Actor> void performAs(T actor) { actor.attemptsTo( Click.on(JenkinsHomePage.Schedule_A_Build.of(project)) // todo: should wait for the build to finish ); } public ScheduleABuild(String project) { this.project = project; } private final String project; }