Appium Java Client从4.1.0版本开始引入了event firing(引发事件),处理方式和`org.openqa.selenium.support.events.EventFiringWebDriver` selenium的这个类有点类似,也绑定了 一些Spring框架里的东西:(https://projects.spring.io/spring-framework/) with [AspectJ](https://en.wikipedia.org/wiki/AspectJ).
目的:
为了帮助用户更好的组织事件日志也方便用户和标准或者其他的日志框架集成。
API
API的设计目的是允许用户选择性的监听事件(例如:搜索事件、导航事件、异常处理等),包括以下接口
- `io.appium.java_client.events.api.Listener` 基本的接口
- `io.appium.java_client.events.api.general.AlertEventListener` 监听弹窗事件
- `io.appium.java_client.events.api.general.ElementEventListener` 监听与控件相关的一些操作(如:点击、发送文本)
- `io.appium.java_client.events.api.general.JavaScriptEventListener` 用来监听JavaScript的执行
- `io.appium.java_client.events.api.general.ListensToException` 用来监听异常的抛出
- `io.appium.java_client.events.api.general.NavigationEventListener`用来监听导航事件
- `io.appium.java_client.events.api.general.SearchingEventListener`用来监听搜索事件
- `io.appium.java_client.events.api.general.WindowEventListener`用来监听窗口操作事件
- `io.appium.java_client.events.api.mobile.ContextEventListener`用来监听上下文切换事件(如:Native_APP、Webview_APP)
- `io.appium.java_client.events.api.mobile.RotationEventListener` 监听屏幕旋转
- `io.appium.java_client.events.api.general.AppiumWebDriverEventListener` 添加是为了提供实现 `org.openqa.selenium.support.events.WebDriverEventListener`. 的兼容,也扩充一些上面的接口
怎么用
1、创建监听类,并实现相关的事件监听接口(如:控件相关的监听类需要实现ElementEventListener)
import io.appium.java_client.events.api.general.ElementEventListener;
public class ElementListener implements ElementEven