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

net.serenitybdd.screenplay.targets.LambdaTarget Maven / Gradle / Ivy

There is a newer version: 4.2.8
Show newest version
package net.serenitybdd.screenplay.targets;

import net.serenitybdd.core.pages.ListOfWebElementFacades;
import net.serenitybdd.core.pages.PageObject;
import net.serenitybdd.core.pages.WebElementFacade;
import net.thucydides.core.steps.StepEventBus;
import net.thucydides.core.webdriver.ConfiguredTimeouts;
import net.thucydides.core.webdriver.exceptions.ElementNotFoundAfterTimeoutError;
import org.openqa.selenium.By;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebDriver;

import java.time.Duration;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;

public class LambdaTarget extends SearchableTarget {

    private final Function> locationStrategy;

    public LambdaTarget(String targetElementName, Function> locationStrategy, Optional