autojs sdk
基於 Autojs 的 APP、小程序自動化測試 SDK,支持:啓動應用、停留等待、判斷存在、文本點擊、顏色點擊、循環點擊、座標拾取、語音播報、通知欄提示、音量調節、震動等數十項能力。
項目主頁
https://github.com/kangour/au...
autojs sdk 在 Auto.js 的基礎上,通過大量接口優化提升了模塊的通用性,並進行豐富的功能擴展。
能幹啥
使用 autojs sdk,一行代碼就能完成 語音播報
/任意類型文本點擊
/循環點擊
/座標拾取
/自動權限控制
/自動類型識別
/自動按鍵監聽
/通知欄實時提示
/自動移除最近任務
/自動解鎖
等數十項能力,更多能力陸續開放中。
開放的方法
包括但不限於以下方法,更多功能盡情期待:
start_app: 傳入應用名稱,啓動應用。
wait_for: 等待文本出現
has_text: 當前屏幕是否存在文本
click: 點擊文本或座標
click_item: 點擊文本
click_color: 點擊顏色
click_item_each: 點擊當前屏幕的所有傳入文本
click_color_each: 點擊當前屏幕的所有傳入顏色
wait_befor_click: 某文本出現之前的點擊
get_coord_by_color: 通過顏色獲取座標
get_coord_by_text: 獲取文本座標
set_volume: 設置設備音量
log/warn/error: 設置調試日誌
簡單上手
編寫基於本 sdk 的應用分爲三個步驟
- 將 autojs_sdk/lib.js 導入運行環境
- 在新創建的應用中用
require('lib')
引入 auto_sdk - 編寫主函數
main()
並傳入lib.start_app()
這裏展示僅用 5 行代碼開發一個基於網易雲音樂的自動播放測試應用,實現的功能有 啓動網易雲音樂
後的 跳過開屏廣告
/播放每日推薦歌曲
/調節音量
。
// 導入:從 auto sdk 導入需要的方法
let lib = require('lib')
start_app = lib.start_app
click_item = lib.click_item
set_volume = lib.set_volume
wait_befor_click = lib.wait_befor_click
// 主函數:程序啓動後執行的邏輯代碼。
function main() {
wait_befor_click('發現', '跳過')
click_item('發現')
click_item('每日推薦')
click_item('播放全部')
set_volume(30)
}
// 啓動應用:傳入參數依次爲:主函數,要啓動的 App 名稱,當前應用描述,是否語音播報執行狀態。
start_app(main, '網易雲音樂', '播放每日推薦', true)
高頻函數介紹
入口函數
start_app(callback, op_app, this_app, use_tts)
程序入口函數,自動完成解鎖、啓動 App、權限控制、按鍵監聽、通知欄提示等操作。
- callback:軟件啓動後執行的函數,如 main
- operation_app:需要啓動的軟件,如 網易雲音樂
- this_app:當前程序的描述,如 播放每日推薦
- use_tts:執行完畢後是否使用語音提示(默認不啓用)
文本點擊
click_item(_text, tip_type)
自動識別文本類型,並點擊文本。
- _text: 待點擊的文本
- tip_type:提示類型,如果傳入 no_tip,則不會在文字尋找失敗後給出提示彈窗(默認啓用)
顏色點擊
click_color(_color, x, y, w, h)
在指定的區域點擊傳入的顏色
- _color:待點擊的顏色
- x:區域左上角的 x 座標
- y:區域左上角的 y 座標
- w:區域寬度
- h:區域高度
等待前點擊
wait_befor_click(target, source)
在 target 出現前,如果出現 source,就點擊。
例如進入有開屏廣告的應用前,點擊 “跳過廣告” 文本,有效節約啓動時間:
wait_befor_click('首頁', '跳過')
開發者的話
還有很多函數等待你去發掘,比如日期時間處理,日誌,座標處理等能力,均可參考 autojs_sdk/lib.js 的函數註釋,同時也希望你能和我一起來完善它,一起構建一個易用的自動化測試工具;你可以將自己基於 autojs_sdk 編寫的應用提交到 example 目錄下。
項目交流羣
autojs_sdk 羣:984025847