当前位置: 首页 > article >正文

三、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;
    }
}


http://www.kler.cn/a/578354.html

相关文章:

  • Windsuf 连接失败问题:[unavailable] unavailable: dial tcp...
  • 万字总结数据分析思维
  • MAC-禁止百度网盘自动升级更新
  • 前端打包优化相关 Webpack
  • 邮件发送器:使用 Python 构建带 GUI 的邮件自动发送工具
  • 【语料数据爬虫】Python爬虫|批量采集征集意见稿数据(1)
  • 基于Ollama安装deepseek-r1模型搭建本地知识库(Dify、MaxKb、Open-WebUi、AnythingLLM、RAGFlow、FastGPT)
  • 高阶哈希算法
  • 传输层协议
  • Vue3 中 Computed 用法
  • P5789 [TJOI2017] 可乐(数据加强版)矩阵乘法、邻接矩阵
  • 【AI】什么是Embedding向量模型?我们应该如何选择?
  • Unity Shader学习总结
  • 【STM32MP157系统移植】3.TF-A目录结构
  • 3-2 深入解析数字电路设计中的竞争条件及解决策略
  • C++后端服务器开发技术栈有哪些?有哪些资源或开源库拿来用?
  • LLM时代的小模型思考:《What is the Role of Small Models in the LLM Era: A Survey》论文笔记
  • html-列表标签和表单标签
  • 文件系统文件管理
  • 2025-03-09 学习记录--C/C++-PTA 习题10-7 十进制转换二进制