自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇帶你玩轉(zhuǎn)手機(jī)自動(dòng)化測試

開發(fā) 前端 自動(dòng)化
Autojs主要就是用于我們的手機(jī)設(shè)備的腳本編寫,所以與ADB也會(huì)有很多相似之處,可以這么說,只要你掌握了ADB和JavaScript,掌握這就跟喝水那么簡單。

[[413023]]

大家好,我是皮皮。

前言

之前我們玩過一些手機(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)大,并且我們在玩自動(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)色圓圈里的加號創(chuàng)建一個(gè)腳本文件,下面我們來創(chuàng)建一個(gè)簡單的腳本,如下:

1.選擇器

因?yàn)锳utoJs有著JavaScript的部分特性,因此他也有選擇器可供我們選擇元素,總共有四種,如下:

  1. ID 選擇器 
  2. Text 選擇器 
  3. ClassName 選擇器 
  4. Desc 選擇器 

2.打開應(yīng)用

在打開之前我們需要對Autojs進(jìn)行授權(quán),很簡單,如下:

  1. auto();//授權(quán)auto.js 

然后我們就可以打開對應(yīng)應(yīng)用,比如我想打開瀏覽器,如下:

  1. launchApp('瀏覽器')#打開瀏覽器 

如果我們想自定義打開的應(yīng)用了,通過輸入的方法,增加一個(gè)交互,可以這樣做,如下:

  1. var app=rawInput("",""); 
  2. launchApp(app); 

我們還可以添加一個(gè)控制臺(tái),顯示我們操作的進(jìn)度,如下:

  1. auto(); 
  2. console.show() //顯示控制臺(tái) 
  3. log('hello') //控制臺(tái)輸出 
  4. console.log('開啟瀏覽器') //控制臺(tái)輸出 
  5. sleep(1000)//休眠 
  6. var app=rawInput("",""); //自定義輸入 
  7. launchApp(app);//運(yùn)行App 

我們還可以檢查是否有Root權(quán)限,如下:

  1. if(auto.waitFor()){ 
  2.     toastLog('有權(quán)限'
  3.     } 
  4.   else
  5.    toastLog('無權(quán)限'
  6.       } 

3.屏幕操作

  1. setScreenMetrics(1080,1920); #屏幕大小 
  2. toast("歡迎大家來到我的世界,Helloworld ,520");#屏幕通知 
  3. toastLog(‘hello’) #屏幕通知+控制臺(tái)日志 
  4. images.requestScreenCapture() #向系統(tǒng)申請屏幕截圖權(quán)限 
  5. images.captureScreen() #截圖 
  6. swipe(100,200,130,320,230)#滑動(dòng)屏幕,只支持安卓7.0以上 
  7. img=images.load('讀取本地或者網(wǎng)絡(luò)圖片')#讀取 
  8. images.save('圖片來源','圖片名')#保存 
  9. var c=findColor(img.'顏色十六進(jìn)制')#尋找對應(yīng)顏色對象 
  10. c.x c.y #對應(yīng)顏色的橫縱坐標(biāo) 
  11. images.findColorEquals(img,color[, x, y, width, height]) #區(qū)域找色 
  12. images.findColorInRegion(img,color[, x, y, width, height]) 
  13. device.width #取屏幕寬度 
  14. device.height #取屏幕高度 
  1. toast('歡迎光臨'
  2. if(requestScreenCapture()){ 
  3.     console.log('截圖成功'
  4.     } 
  5.   else
  6.       console.log('截圖失敗'
  7.       } 

我們還可以保存網(wǎng)絡(luò)上的圖片到設(shè)備中,如:

  1. var pic=images.load('http://wnk5.fulitmm.cn/comm/2020053009318366378.jpg'); 
  2. images.save(pic,'/sdcard/mm.jpg'

另外我們還可以通過找色來定位目標(biāo),如圖:

可以看到橫縱標(biāo)125。

4.返回退出

  1. back() #返回 
  2. exit() #退出 

5.休眠

如果我們想讓程序等待一段時(shí)間,可以使用休眠功能,如下:

  1. sleep(3000);#休眠 

6.文本操作

有時(shí)候我們進(jìn)入應(yīng)用需要進(jìn)行一些操作,這個(gè)時(shí)候我們可以通過找尋應(yīng)用中文本的位置來進(jìn)行精確操作,如下:

  1. text('請輸入網(wǎng)址')#找文本 

7.Auto Js UI

這里要說的是,雖然我們之前的操作比較方便,但是如果你想把這些操作做成一個(gè)界面的話,就需要用到UI了,這樣就會(huì)更方便了,像一些自動(dòng)化工具,比如自動(dòng)電擊器就是這個(gè)原理了,我們來看一個(gè)最簡單的例子,如下:

  1. "ui"
  2. ui.layout( 
  3.     <vertical foreground="#BBFFFF" bg='#F5F5F5'> #垂直布局加前景背景色設(shè)置 
  4.         <input id="name" text="請輸入名字"/>#輸入框 
  5.         <button id="one" text="按鈕1" alpha="0.6" w="200dp" textSize="10sp"/>#按鈕 
  6.         <button class="two" w="100dp" text="按鈕2"/> 
  7.     <horizontal>#水平布局 
  8.         <button w="auto" alpha="0.8" text="按鈕3"/> 
  9.         <button w="*" text="按鈕4"/> 
  10.     </horizontal> 
  11.     </vertical> 
  12.     
  13.      
  14. ); 
  15. ui.one.click(function(){#元素點(diǎn)擊事件 
  16.     var n=ui.name.getText(); 
  17.     toast(n) 
  18.     }) 

其實(shí)UI控件中的方法基本大部分和JavaScript的方法一樣,掌握了JavaScript你就可以非常輕松的使用UI控件了。

三、總結(jié)

Autojs主要就是用于我們的手機(jī)設(shè)備的腳本編寫,所以與ADB也會(huì)有很多相似之處,可以這么說,只要你掌握了ADB和JavaScript,掌握這就跟喝水那么簡單。

對了,還要跟大家補(bǔ)充一句,那就是Autojs的在線官方文檔地址:

https://hyb1996.github.io/AutoJs-Docs/#/

上面介紹的有很多方面,如果你不方便每次都聯(lián)網(wǎng)查詢的話,可以結(jié)合咱們前幾天講的整站爬取方案哦。

 

責(zé)任編輯:姜華 來源: IT共享之家
相關(guān)推薦

2021-06-02 09:12:04

App自動(dòng)化測試測試自動(dòng)化

2020-05-20 14:05:19

自動(dòng)化測試框架軟件測試

2022-12-14 08:03:27

CSS變量前端

2021-05-17 05:51:31

KubeBuilderOperator測試

2021-04-29 09:40:32

測試IDEAirtest

2011-09-15 09:50:33

2021-05-20 06:57:16

RabbitMQ開源消息

2023-04-20 08:00:00

ES搜索引擎MySQL

2021-06-16 08:28:25

unary 方法函數(shù)技術(shù)

2021-05-12 06:18:19

KubeBuilderOperatork8s

2022-03-10 08:31:51

REST接口規(guī)范設(shè)計(jì)Restful架構(gòu)

2021-05-18 05:40:27

kubebuilderwebhook進(jìn)階

2025-01-17 07:00:00

2022-02-24 07:56:42

開發(fā)Viteesbuild

2022-02-15 08:07:17

測試軟件開發(fā)

2021-07-09 07:24:47

Python自動(dòng)化辦公

2022-02-21 09:44:45

Git開源分布式

2023-05-12 08:19:12

Netty程序框架

2022-04-08 08:32:40

mobx狀態(tài)管理庫redux

2021-06-30 00:20:12

Hangfire.NET平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號