Auto.js安卓脚本自动化app的代码语句大全

这篇具有很好参考价值的文章主要介绍了Auto.js安卓脚本自动化app的代码语句大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本语句

(一)常用
home();   // 返回home主页
Back();   // 返回键
sleep(1000);    // 延时1000毫秒
var num = random(1,10);   // 设置1~10的随机数
click("app名");    // 打开某app
toast("你好,世界");  // 底部文本提醒
setText("你好,世界");   //在输入框点击出现光标,即可使用该语句填写文本 
//或者setText(0,"账号"); setText(1,"密码");
(二)点击
// 设置屏幕指标再点击,使得分辨率不同的手机也点在相同的点
setScreenMetrics(1080, 1920);
click(800, 200);      // 按坐标点击

longClick(800, 200)   // 长按600毫秒,并返回是否长按成功
press(800,200,2000)   // 设置坐标长按2000毫秒,并返回是否成功
(三)按住随机滑动

// 入参(起点x,起点y,终点x,终点y,过程耗时单位毫秒)
sml_move(257, 1670, 870, 1670,800);  

function bezier_curves(cp, t) {
    cx = 3.0 * (cp[1].x - cp[0].x); 
    bx = 3.0 * (cp[2].x - cp[1].x) - cx; 
    ax = cp[3].x - cp[0].x - cx - bx; 
    cy = 3.0 * (cp[1].y - cp[0].y); 
    by = 3.0 * (cp[2].y - cp[1].y) - cy; 
    ay = cp[3].y - cp[0].y - cy - by; 
    tSquared = t * t; 
    tCubed = tSquared * t; 
    result = {
        "x": 0,
        "y": 0
    };
    result.x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x; 
    result.y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y; 
    return result; 
};
function sml_move(qx, qy, zx, zy, time) {
    var xxy = [time];
    var point = [];
    var dx0 = {
        "x": qx,
        "y": qy
    };
    var dx1 = {
        "x": random(qx - 100, qx + 100),
        "y": random(qy , qy + 50)
    };
    var dx2 = {
        "x": random(zx - 100, zx + 100),
        "y": random(zy , zy + 50),
    };
    var dx3 = {
        "x": zx,
        "y": zy
    };
    for (var i = 0; i < 4; i++) {
        eval("point.push(dx" + i + ")");
    };
    log(point[3].x)

    for (let i = 0; i < 1; i += 0.08) {
        xxyy = [parseInt(bezier_curves(point, i).x), parseInt(bezier_curves(point, i).y)]
        xxy.push(xxyy);
    }
    log(xxy);
    gesture.apply(null, xxy);
};
(四)控制台
console.show();         // 显示控制台
console.log("白色");      // 控制台打印文本:白色
console.info("绿色");       // 控制台打印文本:绿色
console.warn("蓝色");      // 控制台打印文本:蓝色
console.error("红色");     // 控制台打印文本:红色
(五)用线程自动开启截图权限
console.show();
threads.start(function(){
            if(auto.service != null){  //如果已经获得无障碍权限
                    //由于系统间同意授权的文本不同,采用正则表达式
                    let Allow = textMatches(/(允许|立即开始|统一)/).findOne(10*1000);
                    if(Allow){
                            Allow.click();
                    }
            }
});
var result = images.requestScreenCapture();    // 申请截图权限
console.log(result)
(六)读写权限
//读
var result = files.read("/mnt/shared/Pictures/result.txt")
console.log(result)

// 写
files.write("/mnt/shared/Pictures/result.txt","你好,世界");    // 直接写法
files.append("/mnt/shared/Pictures/reline.txt", JSON.stringify([1,2])+"\n")   // 追加写法

二、布局代码

// 常用控件属性,方便定位
id("xxx").className("xxx").depth(int).text("xxx").desc("xxx")  
(一)位置
// 直接通过id找到控件点击
id("hkp").findOne(10).click()  

// 通过文本选择找到控件,根据控件中心坐标偏移完成点击(推荐使用)
var label = className("android.widget.TextView").text("账号").findOne(10)
console.log(label.bounds().centerX(),label.bounds().centerY())
click(label.bounds().centerX()+200,label.bounds().centerY())   // 向控件右偏移200点击

// 找到控件的父亲的第二个孩子进行点击,child(0)为第一个孩子,即控件本身
className("android.widget.TextView").text("密码").findOne(10).parent().child(1).click()

// 输出控件文本
var label = className("android.widget.TextView").text("国家/地区").findOne(10).parent().child(1)
console.log(label.text())

// 按控件文本【正则表达式】找按钮点击
let button = textMatches("登录.*?").findOne(10);
var button = textMatches("登录").findOne(10)
if(button){button.click()}

(二)判断点击
// 等待控件出现
while(!className("android.widget.TextView").text("我的").findOne(10)){sleep(500)};
log("打开成功!")

// 等等控件出现然后点击
while(!className("android.widget.TextView").text("签到").exists()){sleep(500)}
className("android.widget.TextView").text("签到").click()

//找到控件文本包含内容进行点击
if(textContains("签到").exists()){
    textContains("签到").findOnce(0).click()     //找到第一个控件点击,第二个改1,类推
}
(二)输出当前页面所有文本
for(i=0;i<1000;i++){
    var label = textMatches("(.*?)").findOnce(i)
    if(!label){break}
    log(label.text())
}

三、函数大全

1、text函数

text("签到")    // 找所有"签到"控件
textContains("签到")    // 找所有包含"签到"的控件
textStartWith("签到")     // 找所有"签到"开头的控件
textEndsWith("签到")     // 找所有"签到"结尾的控件
textContains("签到").findOnce(0)   // 找第一个包含"签到"的控件
textMatches("开始(.*?)了").findOnce(0)   // 找第一个正则表达式内容

2、bounds函数文章来源地址https://www.toymoban.com/news/detail-554991.html

bounds().left      "长方形左边界的x坐标"
bounds().right     "长方形右边界的x坐标"
bounds().top       "长方形上边界的y坐标"
bounds().bottom    "长方形下边界的y坐标"
bounds().centerX() "长方形中点x坐标"
bounds().centerY() "长方形中点y坐标"
bounds().width()   "长方形宽度也就是控件宽度"
bounds().height()  "长方形高度也就是控件高度"

到了这里,关于Auto.js安卓脚本自动化app的代码语句大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手机自动化测试工具Auto.js学习使用(附一个自动刷抖音类短视频的demo)

    Auto.js Pro自动化工作流JavaScript IDE,这个IDE是安装在手机上的,书写JavaScript IDE代码的,同时也是可以运行,和打包JavaScript 程序。 Auto.js官网 官网直接下载auto.js,安装即可,安装后花48开会员 搜索安装如下插件 手机电脑要确保连接在同一个wifi网络 手机的auto.js确保打开如下功

    2024年02月09日
    浏览(55)
  • 安卓自动化 | autox.js

    介绍: 不需要Root权限 的 JavaScript 自动化软件 官方文档: http://doc.autoxjs.com/ 安装Releases · kkevsekk1/AutoX (github.com)到手机上 安装vscode插件 插件介绍中有中文的使用说明, 如何连接电脑 Step 1 按 Ctrl+Shift+P 或点击\\\"查看\\\"-\\\"命令面板\\\"可调出命令面板,输入 Autox.js 可以看到几个命令,移动

    2024年02月21日
    浏览(39)
  • js脚本自动化之葫芦娃

    贵州特产平台(扶贫助农平台)有很多,但都大同小异,就连模样都像一个娘生的,所以戏称为葫芦娃平台 #小程序://航旅黔购/1nkYlNRVzm0Gg9x #小程序://贵旅优品/7zz6mtnSVgDfyqa #小程序://新联惠购/ibFdsuhWqIbczEd #小程序://贵盐黔品/u2TgExCUdkavrFe #小程序://空港乐购/ANkOOdqEeo71kah #小程序

    2024年02月12日
    浏览(47)
  • js脚本自动化之 【 i茅台 】让你解放双手

    ![青龙面板跑的结果](https://img-blog.csdnimg.cn/15070a54904a4ab9808c66ba7521d6eb.jpeg ----------------------------------------------------------------------------------- 专栏分割线 ------------------------------------------------------------------------------------ ---------------------------------------------------------------------------------

    2024年02月02日
    浏览(44)
  • appium脚本执行Android_UI自动化,app总是闪退回桌面

    1. 使用工具 appium python pycharm 2. 被测对象及设备 测试真机上的app 3. 遇到的问题 批量执行测试用例,执行到部分用例某一步骤时,app会自动退回手机桌面,并开始执行下一条用例,因上一条故障导致下一条用例找不到页面元素而执行失败(每次失败位置是随机的)。所有用例

    2024年02月16日
    浏览(38)
  • 网页JS自动化脚本(一)安装油猴或暴力猴等脚本管理器并新建脚本

    在我们的工作生活当中使用网页的机会越来越高,很多时候要进行重复的操作,所以进行一些JS脚本就成了可选项 首先我们要在网页浏览器中安装上脚本管理器,这里示范的是安装暴力猴,是一个开源的免费的小软件,是在github上的一款软件,下载下来之后名称为 Violentmonkey_2.13.0_ch

    2024年02月04日
    浏览(34)
  • 基于Node.js 和 FFmpeg构建自动化脚本用来转码视频

    这个脚本将监控一个特定的目录,自动转码新添加的视频文件,并将转码后的视频保存到指定目录。 准备环境 安装 Node.js : 访问 Node.js 官网,下载并安装适合你操作系统的 Node.js 版本。 安装 FFmpeg(不清楚的可以看我的上篇博客里有详细的安装步骤) : 对于 Windows 用户,可以从

    2024年03月27日
    浏览(46)
  • app-UI自动化测试项目代码框架

    1.1 测试用例 1、需求说明分析 已有的手工用例时,在结合自动化测试框架,来开发自动化用例时,则优先分析手工用例,再定出自动化测试的结构 1.2 app界面 2、界面分析 可以分别从模块层、界面层及交互层三个方向进行分析。 模块层 模块层是对 app 应用的整体结构划分,如

    2024年02月02日
    浏览(37)
  • Python与Appium实现手机APP自动化测试的示例代码

    本文主要介绍了Python与Appium实现手机APP自动化测试的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 appium是一个开源的测试自动化框架,可以与原生的、混合的和移动的web应用程序一直使用。它使用WebDriver协议驱动IOS(内

    2024年01月24日
    浏览(60)
  • 【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)

      具体步骤:登录 Apifox https://app.apifox.com/   圈选复制上面的内容粘贴到【接口地址列表】输入框,自动生成脚本代码 生成的接口请求代码是基于 【Vue.js最新版】【基于jQuery Ajax】[sd.js]最新原生完整版for凯哥API版本_你挚爱的强哥的博客-CSDN博客 【代码】【最新版】【基于j

    2024年02月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包