com.epam.jdi.light.elements.base.DriverBase Maven / Gradle / Ivy
package com.epam.jdi.light.elements.base;
import com.epam.jdi.light.common.UIUtils;
import com.epam.jdi.light.driver.WebDriverFactory;
import com.epam.jdi.light.elements.composite.WebPage;
import com.epam.jdi.light.elements.init.SiteInfo;
import com.epam.jdi.light.elements.interfaces.base.JDIElement;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import static com.epam.jdi.light.driver.get.DriverData.DRIVER_NAME;
import static com.epam.jdi.tools.ReflectionUtils.isClass;
import static com.epam.jdi.tools.StringUtils.splitCamelCase;
import static org.apache.commons.lang3.StringUtils.isBlank;
/**
* Created by Roman Iovlev on 26.09.2019
* Email: [email protected]; Skype: roman.iovlev
*/
public abstract class DriverBase implements JDIElement {
public String driverName = DRIVER_NAME;
public WebDriver driver() { return WebDriverFactory.getDriver(driverName); }
public JavascriptExecutor js() { return (JavascriptExecutor) driver(); }
public T asEntity(Class entityClass) {
return UIUtils.asEntity(this, entityClass);
}
public String name = "";
public String varName = "";
public String typeName = "";
public String failElement = "";
public Object parent;
public List