package com.daugherty;
import com.algocrafts.locators.Locators;
import com.algocrafts.pages.Page;
import com.algocrafts.selenium.Browser;
import com.algocrafts.selenium.Clickable;
import com.algocrafts.selenium.Locator;
import org.openqa.selenium.WebDriver;
import java.util.stream.Stream;
import static com.algocrafts.converters.GetText.TEXT;
import static com.algocrafts.converters.OptionalGetter.GET;
import static org.openqa.selenium.By.cssSelector;
public class DaughertyHomePage extends Page {
final Locator<Page, Stream<Clickable>> allMenuLocator;
public DaughertyHomePage(Browser<? extends WebDriver> browser, Clickable url, Locator<Page, Stream<Clickable>> allMenuLocator) {
super(browser, url);
this.allMenuLocator = allMenuLocator;
}
public Stream<Clickable> getAllMenu() {
return allMenuLocator.apply(this);
}
public String getTitle() {
try {
return Locators.<Page>optionalElement(() -> cssSelector("body > header.page-header > div > h1 > span")).andThen(GET).andThen(TEXT).locate(this);
} catch (Exception e) {
return "";
}
}
}