玩转手机自动化测试

前言之前我们玩过一些手机自动化软件 , 比如Airtest , ADB , 通过这些软件我们可以和自己的手机进行关联 , 并且使用程序来代替我们本人来操作手机 , 今天我们要说的是另一款给力的自动化App , 这里要介绍的并不是windows平台上的可执行文件哦 , 而是Android平台上的JAVAScript IDE , 更重要的一点就是这个工具是国人开发的 , 必须支持一个不是 。而且AutoJs兼容性更好 , 传统的按键精灵 , 脚本精灵 , 虽然上手快 , 门槛低 , 但是他们是以坐标为基础 , 很容易出现分辨率的问题 , 而AutoJs则是以控件为基础 , 因而更强大 , 并且我们在玩自动化时是不需要Root的;那么 , 废话不多说 , 赶快让我们一睹为快这款强大的IDE吧 。
 
一、安装AutoJs为了运行Autojs脚本 , 我们需要使用Android平台 , 这里小编选择的是夜神模拟器 , 将我们下载好的AutoJs.apk安装到夜神模拟器中 , 下载地址:
https://u062.com/file/7715018-454641893然后我们开启无障碍服务 , 即可打开Autojs并正常运行 , 如图:

玩转手机自动化测试

文章插图
 
二、基本使用大全要想进行脚本的编写 , 我们需要点击蓝色圆圈里的加号创建一个脚本文件 , 下面我们来创建一个简单的脚本 , 如下:
1.选择器因为AutoJs有着JavaScript的部分特性 , 因此他也有选择器可供我们选择元素 , 总共有四种 , 如下:
ID 选择器Text 选择器ClassName 选择器Desc 选择器2.打开应用在打开之前我们需要对Autojs进行授权 , 很简单 , 如下:
auto();//授权auto.js然后我们就可以打开对应应用 , 比如我想打开浏览器 , 如下:
launchApp('浏览器')#打开浏览器如果我们想自定义打开的应用了 , 通过输入的方法 , 增加一个交互 , 可以这样做 , 如下:
var app=rawInput("","");launchApp(app);我们还可以添加一个控制台 , 显示我们操作的进度 , 如下:
auto();console.show() //显示控制台log('hello') //控制台输出console.log('开启浏览器') //控制台输出sleep(1000)//休眠var app=rawInput("",""); //自定义输入launchApp(app);//运行App
玩转手机自动化测试

文章插图
【玩转手机自动化测试】 

玩转手机自动化测试

文章插图
 
我们还可以检查是否有Root权限 , 如下:
if(auto.waitFor()){toastLog('有权限')}else{toastLog('无权限')}3.屏幕操作setScreenMetrics(1080,1920); #屏幕大小toast("欢迎大家来到我的世界 , Helloworld  , 520");#屏幕通知toastLog(‘hello’) #屏幕通知+控制台日志images.requestScreenCapture() #向系统申请屏幕截图权限images.captureScreen() #截图swipe(100,200,130,320,230)#滑动屏幕 , 只支持安卓7.0以上img=images.load('读取本地或者网络图片')#读取images.save('图片来源','图片名')#保存var c=findColor(img.'颜色十六进制')#寻找对应颜色对象c.x c.y #对应颜色的横纵坐标images.findColorEquals(img,color[, x, y, width, height]) #区域找色images.findColorInRegion(img,color[, x, y, width, height])device.width #取屏幕宽度device.height #取屏幕高度toast('欢迎光临')if(requestScreenCapture()){console.log('截图成功')}else{console.log('截图失败')}
玩转手机自动化测试

文章插图
 

玩转手机自动化测试

文章插图
 
我们还可以保存网络上的图片到设备中 , 如:
var pic=images.load('http://wnk5.fulitmm.cn/comm/2020053009318366378.jpg');images.save(pic,'/sdcard/mm.jpg')
玩转手机自动化测试

文章插图
 
另外我们还可以通过找色来定位目标 , 如图:


推荐阅读