Class EventFiringDecorator
- java.lang.Object
-
- org.openqa.selenium.support.decorators.WebDriverDecorator
-
- org.openqa.selenium.support.events.EventFiringDecorator
-
@Beta public class EventFiringDecorator extends WebDriverDecorator
This decorator creates a wrapper around an arbitraryWebDriverinstance that notifies registered listeners about events happening in this WebDriver and derived objects, such asWebElements andAlert.Listeners should implement
WebDriverListener. It supports three types of events:- "before"-event: a method is about to be called;
- "after"-event: a method was called successfully and returned some result;
- "error"-event: a method was called and thrown an exception.
WebDriver original = new FirefoxDriver(); WebDriverListener listener = new MyListener(); WebDriver decorated = new EventFiringDecorator(listener).decorate(original); decorated.get("http://example.com/"); WebElement header = decorated.findElement(By.tagName("h1")); String headerText = header.getText();The instance of WebDriver created by the decorator implements all the same interfaces as the original driver.
A listener can subscribe to "specific" or "generic" events (or both). A "specific" event correspond to a single specific method, a "generic" event correspond to any method called in a class or in any class.
To subscribe to a "specific" event a listener should implement a method with a name derived from the target method to be watched. The listener methods for "before"-events receive the parameters passed to the decorated method. The listener methods for "after"-events receive the parameters passed to the decorated method as well as the result returned by this method.
WebDriverListener listener = new WebDriverListener() {
-
-
Constructor Summary
Constructors Constructor Description EventFiringDecorator(WebDriverListener... listeners)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterCall(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object result)voidbeforeCall(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args)java.lang.ObjectonError(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.reflect.InvocationTargetException e)-
Methods inherited from class org.openqa.selenium.support.decorators.WebDriverDecorator
call, createDecorated, createDecorated, createDecorated, createDecorated, createDecorated, createDecorated, createDecorated, createDecorated, createDecorated, createProxy, decorate, getDecoratedDriver
-
-
-
-
Constructor Detail
-
EventFiringDecorator
public EventFiringDecorator(WebDriverListener... listeners)
-
-
Method Detail
-
beforeCall
public void beforeCall(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args)
- Overrides:
beforeCallin classWebDriverDecorator
-
afterCall
public void afterCall(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object result)
- Overrides:
afterCallin classWebDriverDecorator
-
onError
public java.lang.Object onError(Decorated<?> target, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.reflect.InvocationTargetException e) throws java.lang.Throwable
- Overrides:
onErrorin classWebDriverDecorator- Throws:
java.lang.Throwable
-
-