前言
启动应用和切换应用,是每个脚本必须用到的方法。
EasyClick里,启动应用的方法是utils.openApp(packageName)
在生产环境中,你可以直接通过这句代码来启动应用。
但是,在设备数量多的情况下,这句代码会发生问题。
那就是有些应用,并不能通过这种方式来直接启动。
所以需要做一些兼容性适配,让启动更稳妥,成功率更高。
所需方法
utils.isAppExist(packageName):App是否已经安装
utils.openApp():通过包名打开APP
getRunningPkg():取得当前运行的App包名
utils.getAppVersionName(packageName):取得已安装的程序的版本字符串标示(版本号)
text():组件文本选择器
has():通过选择器判断元素是否存在
visible():组件是否可视。组件筛选方法
getOneNodeInfo():通过选择器获取第一个节点对象
click():点击节点,节点区域随机点击
实现过程
温馨提示:此处内容需要登录后才能查看!
为了方便调用,飞云将启动应用的方法,封装成一个函数。
let packageName = 'com.ss.android.ugc.aweme';
launch(packageName);
/**
@description 通过包名启动应用。如果该包名对应的应用不存在,则返回false;否则返回true。
@version 20201125
@author 飞云<283054503@qq.com>
@param packageName {string} :应用包名
@param delay {number} :启动后等待时长,单位毫秒。默认5000
@param startNum {number} :重试次数。默认3
@return {boolean}:返回是否成功
*/
function launch(packageName, delay, startNum) {
let result = false;
if (!delay) {
delay = 5000;
}
if (!startNum) {
startNum = 3;
}
if (utils.isAppExist(packageName)) {
if (getRunningPkg() === packageName) {
logd('应用已经在前台');
result = true;
} else {
logd('启动应用...');
let selectors = text('允许');
let num = 0;
while (num < startNum) {
if (getRunningPkg() === packageName) {
logi('启动成功');
result = true;
break;
} else if (has(selectors)) {
let node = selectors.getOneNodeInfo(1000);
if (node) {
node.click()
}
} else {
utils.openApp(packageName);
sleep(delay);
num++;
}
}
}
} else {
loge('应用未安装');
}
if (result) {
logd('应用版本号:' + utils.getAppVersionName(packageName));
}
return result;
};
来看看运行日志:
[2020-11-25 21:27:43.387]【远程设备】准备运行工程...
[2020-11-25 21:27:43.390]【远程设备】开始启动...
[2020-11-25 21:27:43.474]【远程设备】开始执行,请稍等
[2020-11-25 21:27:43.773]【远程设备】执行 main class: com.js.main
[2020-11-25 21:27:43.773]【远程设备】执行class: com.js.main
[2020-11-25 21:27:43.777]【远程设备】开始执行脚本...
[2020-11-25 21:27:43.782]【远程设备】启动应用...
[2020-11-25 21:27:49.255]【远程设备】启动成功
[2020-11-25 21:27:49.260]【远程设备】应用版本号:13.6.0
[2020-11-25 21:27:49.631]【远程设备】运行结束
EasyClick免费云控
全动云是淘美科技旗下2021年最新的免费云控脚本管理系统。提供设备分组、设备管理、脚本分组、脚本管理、任务管理、素材管理等强大功能。支持用户上传自定义EasyClick脚本。
全动云大数据智能营销管理系统
相关链接
EasyClick脚本开发教程(1)IntelliJ IDEA Ultimate的安装方法
EasyClick脚本开发教程(2)安装开发工具并创建项目
EasyClick脚本开发教程(3)连接设备与屏幕映射
EasyClick实现抖音直播间刷屏喊话,循环发送随机话术
EasyClick实现抖音发送指定语音,发送好友私信,引流脚本必备技术
EasyClick交流群
QQ群号:737066890
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » EasyClick脚本开发教程(4)启动应用的稳妥方法