新聞中心
大家好,我是皮皮。

創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為修水企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),修水網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
前言
之前我們玩過一些手機(jī)自動(dòng)化軟件,比如Airtest,ADB,通過這些軟件我們可以和自己的手機(jī)進(jìn)行關(guān)聯(lián),并且使用程序來代替我們本人來操作手機(jī),今天我們要說的是另一款給力的自動(dòng)化APP,這里要介紹的并不是Windows平臺(tái)上的可執(zhí)行文件哦,而是Android平臺(tái)上的JavaScript IDE,更重要的一點(diǎn)就是這個(gè)工具是國人開發(fā)的,必須支持一個(gè)不是。而且AutoJs兼容性更好,傳統(tǒng)的按鍵精靈,腳本精靈,雖然上手快,門檻低,但是他們是以坐標(biāo)為基礎(chǔ),很容易出現(xiàn)分辨率的問題,而AutoJs則是以控件為基礎(chǔ),因而更強(qiáng)大,并且我們?cè)谕孀詣?dòng)化時(shí)是不需要Root的;那么,廢話不多說,趕快讓我們一睹為快這款強(qiáng)大的IDE吧。
一、安裝AutoJs
為了運(yùn)行Autojs腳本,我們需要使用Android平臺(tái),這里小編選擇的是夜神模擬器,將我們下載好的AutoJs.apk安裝到夜神模擬器中,下載地址:
https://u062.com/file/7715018-454641893
然后我們開啟無障礙服務(wù),即可打開Autojs并正常運(yùn)行,如圖:
二、基本使用大全
要想進(jìn)行腳本的編寫,我們需要點(diǎn)擊藍(lán)色圓圈里的加號(hào)創(chuàng)建一個(gè)腳本文件,下面我們來創(chuàng)建一個(gè)簡單的腳本,如下:
1.選擇器
因?yàn)锳utoJs有著JavaScript的部分特性,因此他也有選擇器可供我們選擇元素,總共有四種,如下:
- ID 選擇器
- Text 選擇器
- ClassName 選擇器
- Desc 選擇器
2.打開應(yīng)用
在打開之前我們需要對(duì)Autojs進(jìn)行授權(quán),很簡單,如下:
- auto();//授權(quán)auto.js
然后我們就可以打開對(duì)應(yīng)應(yīng)用,比如我想打開瀏覽器,如下:
- launchApp('瀏覽器')#打開瀏覽器
如果我們想自定義打開的應(yīng)用了,通過輸入的方法,增加一個(gè)交互,可以這樣做,如下:
- var app=rawInput("","");
- launchApp(app);
我們還可以添加一個(gè)控制臺(tái),顯示我們操作的進(jìn)度,如下:
- auto();
- console.show() //顯示控制臺(tái)
- log('hello') //控制臺(tái)輸出
- console.log('開啟瀏覽器') //控制臺(tái)輸出
- sleep(1000)//休眠
- var app=rawInput("",""); //自定義輸入
- launchApp(app);//運(yùn)行App
我們還可以檢查是否有Root權(quán)限,如下:
- if(auto.waitFor()){
- toastLog('有權(quán)限')
- }
- else{
- toastLog('無權(quán)限')
- }
3.屏幕操作
- setScreenMetrics(1080,1920); #屏幕大小
- toast("歡迎大家來到我的世界,Helloworld ,520");#屏幕通知
- toastLog(‘hello’) #屏幕通知+控制臺(tái)日志
- images.requestScreenCapture() #向系統(tǒng)申請(qǐng)屏幕截圖權(quán)限
- images.captureScreen() #截圖
- swipe(100,200,130,320,230)#滑動(dòng)屏幕,只支持安卓7.0以上
- img=images.load('讀取本地或者網(wǎng)絡(luò)圖片')#讀取
- images.save('圖片來源','圖片名')#保存
- var c=findColor(img.'顏色十六進(jìn)制')#尋找對(duì)應(yīng)顏色對(duì)象
- c.x c.y #對(duì)應(yīng)顏色的橫縱坐標(biāo)
- images.findColorEquals(img,color[, x, y, width, height]) #區(qū)域找色
- images.findColorInRegion(img,color[, x, y, width, height])
- device.width #取屏幕寬度
- device.height #取屏幕高度
- toast('歡迎光臨')
- if(requestScreenCapture()){
- console.log('截圖成功')
- }
- else{
- console.log('截圖失敗')
- }
我們還可以保存網(wǎng)絡(luò)上的圖片到設(shè)備中,如:
- var pic=images.load('http://wnk5.fulitmm.cn/comm/2020053009318366378.jpg');
- images.save(pic,'/sdcard/mm.jpg')
另外我們還可以通過找色來定位目標(biāo),如圖:
可以看到橫縱標(biāo)125。
4.返回退出
- back() #返回
- exit() #退出
5.休眠
如果我們想讓程序等待一段時(shí)間,可以使用休眠功能,如下:
- sleep(3000);#休眠
6.文本操作
有時(shí)候我們進(jìn)入應(yīng)用需要進(jìn)行一些操作,這個(gè)時(shí)候我們可以通過找尋應(yīng)用中文本的位置來進(jìn)行精確操作,如下:
- text('請(qǐng)輸入網(wǎng)址')#找文本
7.Auto Js UI
這里要說的是,雖然我們之前的操作比較方便,但是如果你想把這些操作做成一個(gè)界面的話,就需要用到UI了,這樣就會(huì)更方便了,像一些自動(dòng)化工具,比如自動(dòng)電擊器就是這個(gè)原理了,我們來看一個(gè)最簡單的例子,如下:
- "ui";
- ui.layout(
#垂直布局加前景背景色設(shè)置 - #輸入框
- #按鈕
#水平布局 - );
- ui.one.click(function(){#元素點(diǎn)擊事件
- var n=ui.name.getText();
- toast(n)
- })
其實(shí)UI控件中的方法基本大部分和JavaScript的方法一樣,掌握了JavaScript你就可以非常輕松的使用UI控件了。
三、總結(jié)
Autojs主要就是用于我們的手機(jī)設(shè)備的腳本編寫,所以與ADB也會(huì)有很多相似之處,可以這么說,只要你掌握了ADB和JavaScript,掌握這就跟喝水那么簡單。
對(duì)了,還要跟大家補(bǔ)充一句,那就是Autojs的在線官方文檔地址:
https://hyb1996.github.io/AutoJs-Docs/#/
上面介紹的有很多方面,如果你不方便每次都聯(lián)網(wǎng)查詢的話,可以結(jié)合咱們前幾天講的整站爬取方案哦。
網(wǎng)站題目:一篇帶你玩轉(zhuǎn)手機(jī)自動(dòng)化測(cè)試
本文鏈接:http://m.fisionsoft.com.cn/article/dhoshgh.html


咨詢
建站咨詢
