package com.sonyericsson.jenkins.plugins.bfa.tasks.configuration; import com.sonyericsson.jenkins.plugins.bfa.user_interface.FailureCauseManagementPage; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Click; import net.serenitybdd.screenplay.actions.Enter; import net.thucydides.core.annotations.Step; import static net.serenitybdd.screenplay.Tasks.instrumented; public class LineInTheBuildLog implements Task { public static LineInTheBuildLog matching(String pattern) { return instrumented(LineInTheBuildLog.class, pattern); } @Step("{0} defines a pattern indicating the failure cause") @Override public <T extends Actor> void performAs(T actor) { actor.attemptsTo( Click.on(FailureCauseManagementPage.Add_Indication), Click.on(FailureCauseManagementPage.Build_Log_Indication_Link), Enter.theValue(pattern).into(FailureCauseManagementPage.Pattern_Field) ); } private final String pattern; public LineInTheBuildLog(String pattern) { this.pattern = pattern; } }