T
- 继承自AbstractEvent
的事件类public class EventProxy<T extends AbstractEvent> extends Object implements org.springframework.cglib.proxy.MethodInterceptor
文件名:EventProxy.java
用途: 用于对事件类进行代理,使其能在对应的事件方法执行前后能执行指定方法,以增强事件的执行。 类中提供6种增强方法的方式,其名称与执行顺序为:方法前置通知、元素前置通知、方法成功/失败通知(两种)、 元素后置通知、方法最终通知,解释如下:
假设存在元素xpah:元素1“//*[text()='登录']”、元素2“//*[@name='account']”、元素3“//*[@name='password']”,
在点击元素1前,需要先在元素2和元素3中分别输入“admin”、“123456”,并且在此前定义了ChromeBrower
浏览器对象,变量名为
chrome,此时,可以将代码写作
EventProxy <ClickEvent> clickEventProxy = new EventProxy(new ClickEvent(chrome.getDriver()));
clickProxy.addAcion(ActionType.ELEMENT_BEFORE, ".*登录.*", (info) -> {
TextEvent text = inputProxy.getProxyInstance();
text.input(by.getElement("//*[@name='account']"), "admin");
text.input(by.getElement("//*[@name='password']"), "1111111");
});
clickEventProxy.getProxyInstance().click(new CommnBy(chrome).getElement("//*[text()='登录']"));
编码时间:2020年7月12日 下午1:35:22
修改时间:2020年10月20日下午7:54:15
Modifier and Type | Class and Description |
---|---|
static class |
EventProxy.ActionType
文件名:EventProxy.java
|
Constructor and Description |
---|
EventProxy(T target)
构造代理类
|
Modifier and Type | Method and Description |
---|---|
void |
addAcion(EventProxy.ActionType actionType,
String regex,
EventAction action)
根据相应的执行的方法类型,添加指定的名称匹配规则及执行方法
|
T |
getProxyInstance()
创建
AbstractEvent 类或其子类的代理类对象,通过该类可调用
AbstractEvent 类或子类的所有方法 |
Object |
intercept(Object obj,
Method method,
Object[] args,
org.springframework.cglib.proxy.MethodProxy proxy) |
public EventProxy(T target)
target
- AbstractEvent
类或其子类public T getProxyInstance()
AbstractEvent
类或其子类的代理类对象,通过该类可调用
AbstractEvent
类或子类的所有方法AbstractEvent
类或子类的代理类对象public void addAcion(EventProxy.ActionType actionType, String regex, EventAction action)
actionType
- 通知类型枚举类EventProxy.ActionType
regex
- 名称匹配规则,元素名称或者方法名称,规则为正则表达式action
- 需要执行的方法Copyright © 2024. All rights reserved.