熱線電話:13121318867

登錄
首頁精彩閱讀移動端自動化 AutoJS 快速入門指南(上)
移動端自動化 AutoJS 快速入門指南(上)
2021-11-02
收藏
移動端自動化 AutoJS 快速入門指南(上)

來源:AirPython

作者:星安果

1. 前言

大家好,我是安果!

之前寫過很多 App 端自動化的文章,大都基于 Appium、Airtest、無障礙服務等技術來實現的

其中,Appium 和 Airtest 編寫的自動化腳本都依賴于 PC 端運行,沒有辦法直接運行在移動端;無障礙服務需要單獨創建一個 Android 項目,沒有完整的使用文檔,使用起來有一定的門檻

從本篇文章開始,介紹一款可以直接運行在移動端的自動化工具:AutoJS

2. AutoJS 介紹

AutoJS 類似于按鍵精靈,它是 Android 平臺上的一款自動化工具,它通過編寫 JavaScript 腳本,結合系統的「 無障礙服務 」對 App 進行自動化操作

它的優勢包含:

  • 使用 JS 編寫腳本,代碼可讀性強
  • 腳本文件體積小,可以打包成 APK 直接安裝
  • 擁有豐富的 UI 組件用于構建 GUI 界面
  • 非 Root 設備也能完成自動化操作,可以擺脫 PC 直接運行
  • 提供多種元素定位方式,可以適配各種機型
  • 官方文檔非常詳細,學習成本低

3. 準備

AutoJS 擁有多個版本,其中最常用的兩個版本分別是:Auto.js Pro、Auto.js 4.1.1 Beta

PS:由于某些原因,AutoJS 作者現在只對 Auto.js Pro 版本進行維護,并且 Auto.js Pro 對部分主流 App 進行了限制

后面的文章都是以 Auto.js 4.1.1 Beta 為例進行講解( 文末有提供下載方式 )

首先,下載 VS Code 軟件和 2 個插件

2 個插件包含:

  • Auto.js-VSCodeExt
  • Auto.js-VSCodeExt-Fixed

其中,Auto.js-VSCodeExt-Fixed 對插件 Auto.js-VSCodeExt 進行了部分優化,更加方便我們調試腳本

然后,使用 VS Code 快捷鍵「 Ctrl/Command + Shift + P 」,選擇「 Auto.js:Start Server 」開啟 AutoJS 服務

接著,在真機或模擬器安裝 AutoJS 應用及 AutoJS 打包工具應用

PS:如果使用模擬器,推薦使用網易 MuMu 或雷電模擬器

打開 AutoJS 應用,首次進入應用關閉更新提示對話框,并按照指引開啟「 無障礙服務 」

移動端自動化 AutoJS 快速入門指南(上)

在軟件主界面,點擊左上角滑出側邊欄,依次打開無障礙服務、前臺服務、懸浮窗

前臺服務用于提升服務的存活率,防止服務被回收掉

移動端自動化 AutoJS 快速入門指南(上)

懸浮窗會懸浮在任意界面之上,提供一些快捷功能操作,具體包含:

  • 文件項目列表會展示示例代碼及自己編寫的腳本、文件夾,可以快速完成腳本編輯、運行、定時任務、打包等操作
  • 腳本錄制錄制腳本,僅適用于 Root 后的設備,由于它基于坐標點,適配性不強,所以很少使用
  • 元素控件定位針對當前界面進行布局控件分析、布局層次分析
  • 關閉正在執行的腳本一鍵停止所有正在執行的腳本任務
  • 更多設置可以快速進入到「無障礙服務」頁面、查看當前應用包名及 Activity 名稱等

最后,選中軟件側邊欄中的「 連接電腦 」這一項,在對話框中輸入 PC 的 ip 地址

PS:AutoJS 連接電腦時如果沒有報錯,VS Code 通知欄和 OUTPUT 會展示設備連接成功的消息

移動端自動化 AutoJS 快速入門指南(上)

4. 實戰一下

在完成上面的準備工作后,我們就可以在 VS Code 中使用 JS 編寫自動化腳本了

這里以自動刷抖音短視頻為例

首先,使用「 auto.waitFor() 」確保無障礙服務開啟成功

然后,使用 launchApp + 應用名稱,快速啟動抖音 App

接著使用界面元素內容 + waitFor() 方法等待元素出現,代表界面加載完成

最后,使用 Root + Swipe + 坐標點模擬界面滑動

PS:這里為了方便,直接使用 Root 設備的 API 方法,如果是非 Root 設備,可以采用官方提供的滑動 API 或控件中心坐標點擊事件來實現

完整代碼如下:

auto.waitFor()
//打開抖音App
var appName = 
"抖音";
(appName);
//等待進入主界面成功
text("首頁").waitFor();
toast("準備開始滑動")
//滑動(Root+坐標點)
while (true) {
Swipe(200, 1000, 210, 400, 500);
//休息5s鐘
sleep(5000);
toast("繼續滑動。。。")
}

5. 最后

本篇文章介紹了 AutoJS 最基礎的使用步驟,并通過一個簡單的實例講解其用法

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢