// =====================================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功能封装结束===================================== \\
Auto.js自用控件操作封装以及全设备适配点击
于 2020-08-06 16:48:36 首次发布