Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
wakaleo committed Apr 29, 2021
2 parents a22ad1f + 86430a4 commit c0890ba
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ public OpenPageFromClass(Class<? extends PageObject> targetPageClass) {
this.targetPageName = NameConverter.humanize(targetPageClass.getSimpleName());
}

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

@Step("{0} opens the #targetPageName")
public <T extends Actor> void performAs(T theUser) {
PageObject targetPage = new Pages(BrowseTheWeb.as(theUser).getDriver()).getPage(targetPageClass);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package net.serenitybdd.screenplay.actions;

import net.serenitybdd.core.pages.PageObject;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Step;
import net.thucydides.core.pages.Pages;

import java.util.Arrays;

import static net.serenitybdd.core.pages.PageObject.withParameters;

public class OpenPageFromClassWithParameters implements Interaction {

private final String targetPageName;
private final Class<? extends PageObject> targetPageClass;
private final String[] parameterValues;
private final String parametersString;

public OpenPageFromClassWithParameters(Class<? extends PageObject> targetPageClass, String targetPageName, String... parameters) {
this.targetPageClass = targetPageClass;
this.targetPageName = targetPageName;
this.parameterValues = parameters;
this.parametersString = Arrays.toString(parameters);
}

@Step("{0} opens the #targetPageName with parameters #parametersString")
public <T extends Actor> void performAs(T theUser) {
PageObject targetPage = new Pages(BrowseTheWeb.as(theUser).getDriver()).getPage(targetPageClass);
targetPage.setDriver(BrowseTheWeb.as(theUser).getDriver());
targetPage.open(withParameters(parameterValues));
}
}

0 comments on commit c0890ba

Please sign in to comment.