Auto.js自用控件操作封装以及全设备适配点击

// =====================================Auto.js功能封装开始===================================== \\

// 封装中的log是用于查看是否找到控件,如果不需要则自行删除;
// 在点击功能上增加了点击后等待1秒,不需要的可自行删除;

// 使用方法:函数名(参数);  参数是字符串类型;id点击是填入id,文本点击是传入需要点击的文本
// 例如:
// 文本点击-->查找到相同文本点击
// textClick('登录');
// id点击-->查找到相同id点击
// idClick('login');

/*
屏幕全适配用法
// 定义当前手机的屏幕大小,换设备不需要更改;
let defaultX = 1080;
let defaultY = 1920;

adaptationClick(15,75);// 传入x,y坐标
*/

// 启动APP
function startApp(appPackageName) {
    while (true) {
        if (currentPackage() != appPackageName) {
            app.launch(appPackageName);
            sleep(5000);
        } else {
            break;
        }
    }
}

// 屏幕全适配点击
function adaptationClick(intX, intY) {
    let x = intX / defaultX * device.width //换算后的x
    let y = intY / defaultY * device.height //换算后的y
    click(x, y);//当前做的是坐标点击,如果需要返回x,y的值自行修改即可
    sleep(1000);
}

// 屏幕全适配滑动
function adaptationSlide(intX1, intY1, intX2, intY2) {
    let x1 = intX1 / defaultX * device.width //换算后的x
    let y1 = intY1 / defaultY * device.height //换算后的y
    let x2 = intX2 / defaultX * device.width //换算后的x
    let y2 = intY2 / defaultY * device.height //换算后的y
    swipe(x1, y1, x2, y2, 500);//横/竖   自行定义
    sleep(1000);
}

// 文本点击
function textClick(parameter) {
    let resultObject = text(parameter).findOne(10);
    if (resultObject == null) {
        log("没找到-->" + parameter);
        return false;
    }
    log("找到了-->" + parameter);
    click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
    sleep(1000);
    return true;
}

// 指定坐标检测文本
function findTextByCoordinate(parameter, left, top, right, buttom) {
    if (text(parameter).bounds(left, top, right, buttom).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 检测文本是否存在
function findText(parameter) {
    if (text(parameter).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 包含文本点击
function textContainsClick(parameter) {
    let resultObject = textContains(parameter).findOne(10);
    if (resultObject == null) {
        log("没找到-->" + parameter);
        return false;
    }
    click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
    log("找到了-->" + parameter);
    sleep(1000);
    return true;
}


// 检测是否包含文本
function findTextContains(parameter) {
    if (textContains(parameter).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 通过id获取内容
function getContentById(parameter) {
    let resultObject = id(parameter).findOne(10);
    if (resultObject == null) {
        log("没找到-->" + parameter);
        return ''
    }
    log("找到了-->" + parameter);
    return resultObject.text();
}

// id点击
function idClick(parameter) {
    let resultObject = id(parameter).findOne(10);
    if (resultObject == null) {
        log("没找到-->" + parameter);
        return false
    }
    log("找到了-->" + parameter);
    click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
    sleep(1000);
    return true;
}

// 包含id点击
function idContainsClick(parameter) {
    let resultObject = idContains(parameter).findOne(10);
    if (resultObject == null) {
        log("没找到-->" + parameter);
        return false;
    }
    log("找到了-->" + parameter);
    if (resultObject.bounds().centerX() > 0 && resultObject.bounds().centerY() > 0) {
        click(resultObject.bounds().centerX(), resultObject.bounds().centerY());
    }
    sleep(1000);
    return true;
}

// 检查id是否存在
function findId(parameter) {
    if (id(parameter).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 检查是否包含id
function findIdContains(parameter) {
    if (idContains(parameter).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 指定坐标检测id
function findIdByCoordinate(parameter, left, top, right, buttom) {
    if (id(parameter).bounds(left, top, right, buttom).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 描述点击
function descClick(parameter) {
    let describeClick = desc(parameter).findOne(10);
    if (describeClick == null) {
        log("没找到-->" + parameter);
        return false
    }
    log("找到了-->" + parameter);
    click(describeClick.bounds().centerX(), describeClick.bounds().centerY());
    sleep(1000);
    return true;
}

// 检查描述是否存在
function findDesc(parameter) {
    if (desc(parameter).exists()) {
        log("找到了-->" + parameter);
        return true;
    }
    log("没找到-->" + parameter);
    return false;
}

// 是否选中
function isChecked(parameter) {
    let isCheckedState = text(parameter).findOne(10);
    if (isCheckedState == null) {
        log("没找到-->" + parameter);
        return false;
    }
    log("找到了-->" + parameter);
    return isCheckedState.checked();
}

// 是否选择
function isSelected(parameter) {
    let isSelectedState = text(parameter).findOne(10);
    if (isSelectedState == null) {
        log("没找到-->" + parameter);
        return false;
    }
    log("找到了-->" + parameter);
    return isSelectedState.selected();
}

// =====================================Auto.js功能封装结束===================================== \\

  • 5
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值