Example usage for org.openqa.selenium.support How ID_OR_NAME

List of usage examples for org.openqa.selenium.support How ID_OR_NAME

Introduction

In this page you can find the example usage for org.openqa.selenium.support How ID_OR_NAME.

Prototype

How ID_OR_NAME

To view the source code for org.openqa.selenium.support How ID_OR_NAME.

Click Source Link

Usage

From source file:be.rubus.web.testing.GrafacesContext.java

License:Apache License

public void initializePageFragment(Object childObject, WebElement childRoot, Object parentObject) {
    if (!hasPropertyFor(Root.class, childObject)) {
        fail("No property annotated with @Root in class " + childObject.getClass());
    }// ww w . j  a v  a  2 s  .c  om
    setInstanceOf(Root.class, childObject, childRoot);

    if (hasPropertyFor(Drone.class, childObject)) {
        WebDriver driver = getInstanceOf(Drone.class, parentObject, WebDriver.class);
        // FIXME when driver == null
        /*
        if (grapheneContext == null) {
        grapheneContext = GrapheneContext.getContextFor(ReflectionHelper.getQualifier(field.getAnnotations()));
        }
        grapheneContext.getWebDriver(xx.class) where xx is the class type of the field where annotation was placed on
        */
        setInstanceOf(Drone.class, childObject, driver);
    }

    try {
        List<Field> fields = ReflectionHelper.getFieldsWithAnnotation(childObject.getClass(), FindBy.class);
        for (Field field : fields) {
            By by = FindByUtilities.getCorrectBy(field, How.ID_OR_NAME);
            // WebElement
            if (field.getType().isAssignableFrom(WebElement.class)) {

                WebElement element = childRoot.findElement(by);
                ReflectionUtil.setValue(field, childObject, element);
                // List<WebElement>
            } else if (field.getType().isAssignableFrom(List.class)
                    && getListType(field).isAssignableFrom(WebElement.class)) {
                List<WebElement> elements = childRoot.findElements(by);
                ReflectionUtil.setValue(field, childObject, elements);
            }

        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    if (hasPropertyFor(Grafaces.class, childObject)) {
        setInstanceOf(Grafaces.class, childObject, this);
    }

    executeMethodsOfType(PostConstruct.class, childObject);
}