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

  1. 前言

大家好,我是安果!

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

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

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

  1. AutoJS 介紹

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

官方文檔:https://pro.autojs.org/docs/#/zh-cn/

它的優勢包含:

  1. 準備

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

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

原因:https://pro.autojs.org/faq

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

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

2 個插件包含:

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

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

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

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

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

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

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

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

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

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

  1. 實戰一下

在完成上面的準備工作後,我們就可以在 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("繼續滑動。。。")
}
  1. 最後

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

文中提到的軟件我已經上傳到後臺,回覆關鍵字「 autojs 」即可以獲取

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Qe3gksn02NCGJW_gS7Rnnw