三、Java-封装playwright UI自动化(一些注解类与工具类的封装,包括定位器,page操作的封装等)
1、定位器
1.1 定位器注解
封装注解,在page中使用:
public @interface GLocator {
/**
* 定位器的类型,默认为TEXT
* 类型包括但不限于ID、NAME、XPATH等,具体见LocatorType枚举
*
* @return 定位器的类型
*/
public LocatorType type() default LocatorType.TEXT;
/**
* 定位器的具体值,默认为空字符串
* 例如,如果type是ID,那么value就是具体的ID值
*
* @return 定位器的值
*/
public String value() default "";
/**
* 是否需要输入,默认为false
* 如果被注解的字段表示一个需要输入的元素,则设为true
*
* @return 如果元素需要输入,则返回true;否则返回false
*/
public boolean input() default false;
/**
* 元素是否可见,默认为true
* 如果被注解的字段表示的元素在页面上应该是可见的,则设为true
*
* @return 如果元素应可见,则返回true;否则返回false
*/
public boolean visible() default true;
/**
* 第几个匹配的元素,默认为0
* 当有多个元素匹配相同的定位器时,可以通过nth指定选择第几个元素
*
* @return 匹配元素的索引(从0开始)
*/
public int nth() default 0;
}
1.2 定位器类型
public enum LocatorType {
TEXT("text"), CSS("css"), LABEL("label"),
EL_DATEPICKER("label")
;
private String value;
/**
* 构造函数用于初始化LocatorType枚举类型的实例
* 此构造函数接收一个字符串参数,用于设置枚举实例的值
*
* @param type 枚举实例的值,表示定位类型的字符串
*/
LocatorType(String type) {
this.value = type;
}
public String getValue() {
return value;
}
}