
io.appium.java_client.pagefactory.ElementInterceptor Maven / Gradle / Ivy
package io.appium.java_client.pagefactory;
import io.appium.java_client.MobileElement;
import java.lang.reflect.Method;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.pagefactory.ElementLocator;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
/**
* Intercepts requests to {@link MobileElement}
*
*/
class ElementInterceptor implements MethodInterceptor {
private final ElementLocator locator;
ElementInterceptor(ElementLocator locator) {
this.locator = locator;
}
public Object intercept(Object obj, Method method, Object[] args,
MethodProxy proxy) throws Throwable {
WebElement realElement = locator.findElement();
return method.invoke(realElement, args);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy