app自動化(一)app自動化環境搭建


用最簡單的話術,描述最難理解的問題。

【原理】:

  用簡單的話來說就是python操作appnium,appnium操控android SDK,android SDK通過命令操控手機,就實現了app自動化

 

第一步:搭建python環境。(python自動化腳本)

這個就很簡單了,安裝好python環境就行。當然不一定要python,其它語言也行,這里用python語言講解。安裝完后,cmd輸入python驗證一下,出現以下則說明環境安裝成功。還有別忘了安裝pycharm工具

 

第二步:安裝android SDK環境

安裝java jdk環境:首先得配置好java jdk環境,安裝比較簡單,不會請看此篇文章,按照里面的一步步來即可 https://www.cnblogs.com/FBGG/p/15103119.html

如果之前已經安裝有了,驗證一下是否可用:java --version    javac --version  能看到版本號則說明OK了。

 

 安裝android SDK:網址:http://sdk.android-studio.org/  ,推薦zip下載。當然你也可以從官網或其它地方下載。

 

 下載完后, 將文件解壓到某一個路徑中,注意解壓路徑不能有中文

 

進入文件雙擊SDK Manager.exe

 

 

 

打開文件之后,會得到下圖,根據圖片描述勾選下載即可。Tool 下勾選這3個, 下圖的Android SDK Build-tools都是一樣的, 只是版本不一樣(個人習慣,不想用最新版本) 

 

 

 

 

 

 

更新下載完成后, Android SDK就安裝好了,下一步配置環境變量

 

第三步:配置電腦環境變量 

新建系統環境變量

ANDROID_HOME:值是Android-sdk 的解壓路徑

 

 

編輯系統的path 路徑

注意, win10有新舊版本兩個編輯界面,而且兩個都是不一樣,增加的變量也是不一樣的, 用哪一個都可以。

C:\sdk\android-sdk-windows\platform-tools

C:\sdk\android-sdk-windows\tools

 

舊版本是以% 開頭的,如下圖, 在最前面直接增加這段代碼:  %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

 

 cnd輸入 adb version 是否安裝好了,出現版本號則說明安裝成功。

 

第四步:配置真機環境

注意:這里建議使用木木模擬器(我使用過多個模擬器,木木模擬器能讓你避開很多坑),當然也可以用真機(不建議用自己的手機,會把自己手機弄得一團糟)

連接方式的話,手機就用USB連接(要注意,有些數據線是不支持連接的)。不建議用WIFI。

 

這里用木木模擬器講解,打開模擬器的USB調試功能,如果不知道怎么打開百度一下

 

 

 

注意:如果你使用的是OPPO手機,則需要打開(OEM解鎖)和(禁止權限監控),如下圖。如果不打開后續運行時會攔截appium命令執行從而報錯。

 

然后在cmd輸入命令:adb connect 127.0.0.1:7555  這個命令來連接電腦。(127.0.0.1是電腦的主機地址,7555是木木模擬器的專屬端口,每一個模擬器的端口都不一樣,可以自行網上查)

 

 

 

再輸入:adb devices  命令, 檢查一下是否連接成功

 

 

 

 

如果是真機,先用數據線連接手機和電腦, 查看電腦硬盤是否出現手機驅動標識。如下圖,如果沒有出現,一般有三種情況,一是數據線不支持數據傳輸,更換數據線即可;二是電腦接口不支持,換個電腦接口重新插一下數據線;三是驅動沒識別到,在電腦和手機下載一個(互傳),嘗試使用(互傳)連接,調起驅動就行可以了(要注意,調起驅動后要把互傳退出,否則后續步驟就會報錯)。

 

第五步:安裝appnium

打開下載網址:http://appium.io/  選擇exe或zip文件下載都行,建議exe下載,方便。

 

 

 華麗的分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

下載完成后點擊exe程序運行

 

安裝完成后打開appium,會得到下圖。主機、端口默認不用修改。

點擊(編輯配置)

第一個輸入 Android sdk的安裝路徑, 第二個輸入java sdk的安裝路徑, 點擊(保存並重新啟動)

點擊(啟動服務)

 

小技巧:這里可以切換語言

操作完以上場景后,自動化環境就搭建好了。如何驗證呢?可以看該篇文章:https://www.cnblogs.com/FBGG/p/16523044.html

 

但是還沒結束,做app自動化需要對app應用元素進行定位,所以我們還需要安裝元素定位工具。這里有三個工具可以用

第一個工具:UIAutomatorView(sdk自帶的工具),不建議使用這個

第二個工具:Appium Inspector(這個工具是appium server提供的一個工具)建議使用

第三個工具:Weditor(UIautomator2  python第三方庫 appUI自動化測試框架)這個也建議使用

 

第一個:UIAutomatorView,這個是android SDK自帶元素定位工具,無需下載。怎么使用呢?

打開android SDK安裝路徑,進入tools,在目錄最下面有一個 uiautomatorviewer.bat 這個就是工具

 

 

 

 

打開 uiautomatorviewer.bat ,使用之前需要連接手機

 

得到下圖說明成功。但是不建議使用這個工具,界面丑,元素信息少。

 

第二個元素定位工具:Appium Inspector(這個工具是appium server提供的一個工具)

下載地址:https://github.com/appium/appium-inspector/releases

 

 

 下載完成之后,雙擊傻瓜式安裝就行了 。下圖是安裝完成之后的圖標

 

因為是這個工具是和appium server 關聯的,所以要先啟動appnium server

 

然后再啟動Appium Inspector

 

 安裝下圖來配置Appium Inspector參數。

 

"platformName": "Android"。 設備類型,安裝就填Android ,蘋果就填ios

"appium:deviceName": "c84b98fd"。設備名:在cmd輸入:adb devices 就可以看到你的設備名。 如果是模擬器, 需要使用命令:adb connect 127.0.0.1:62001來連接設備,再輸入adb devices就可以看到連接的設備了

"appium:appPackage": "com.tencent.mobileqq"。要操作的APP應用包名(下面有介紹怎么用,app包名獲取命令:aapt dump badging "app包的路徑" | findstr package

"appium:appActivity": ".activity.SplashActivity"。app應用程序主入口。(下面有介紹怎么用,app主程序入口命令:aapt dump badging app包的路徑 | findstr activity

"appium:noReset": true。這個的意思是,每次啟動程序, 不清空緩存。(拿微信程序來操作的小心了,這個一定要填寫, 否則你微信里面的東西全部不見了)

 

app包名獲取方法:

打開CMD,進入SDK的 C:\sdk\android-sdk-windows\build-tools\30.0.0-preview 路徑,如下圖

如果不會cmd命令可以從文件夾進入,然后在文件上方輸入cmd即可進入

 

然后輸入命令:aapt dump badging app包的路徑 | findstr package

可以先輸入:aapt dump badging ,然后將apk托入cmd窗口,然后再將管道命令附上去 | findstr package,回車就可以得到包名

主程序入口獲取方法: aapt dump badging app包的路徑 | findstr activity

 

 

填寫完信息,點擊“保存”。 自己起個名字, 然后點擊“啟動會話”

上面這個工具,還是不建議使用,原因,沒有下面這個工具完美。

 

第三個工具:Weditor(UIautomator2  python第三方庫 appUI自動化測試框架)

安裝:

cmd命令01pip install UIautomator2

cmd命令02python -m uiautomator2 init 。(如果是模擬器,執行時如果報這個錯誤: No module named uiautomator2 , 解決辦法:先執行命令adb connect 127.0.0.1:62001連接上設備后再執行命令。)

 

 

cmd命令03pip install weditor

 

檢查是否安裝是否成功,cmd命令:weditor --help 。 出現下圖提示則說明安裝成功。 

 

如果提示:(“weditor”不是內部或外部命令,也不是可運行的程序或批處理文件), 則直接在pycharm中直接安裝weditor模塊

 

 

都安裝完成之后,啟動weditor,cmd輸入命令:weditor或python -m weditor 來啟動服務。

 

然后等一下會得到如一下界面。操作一下界面之前,需要檢查一下設備是否連接,輸入adb devices,如果沒有連接輸入adb connect 127.0.0.1:62001連接設備在啟動weditor

 

 工具使用后續介紹,建議使用第三個工具。

 

坑、經驗:

對於小白的我而言,就搭建環境而言, 這個花費了我兩天時間, 過程中遇到的問題太多太多, 歸根結底原因就是環境搭建需要很多步驟, 而且網上很少有完整的教程,湊起來的教程不在同一個時期,會踩到狠多坑。建議各位參考資料時,看一下發布日期。

安裝過出現的問題以及解決方法:

入坑1: 無法驗證“apks/appium-UIAutomator2-Server-V4.15.0.apk”的簽名。 解決方法:卸載重新安裝手機里的Appnium Settings

入坑2: 報以下圖錯誤。 解決方法:java8 已經不適用了, 需要更新java 8以上的版本。 最好更新到java 16。

入坑3: 出現下圖問題,程序入口名不對,或者這個app不支持。 試着換一個app試試

 

入坑4:模擬器連接時,如果出現下圖情況,解決方法:請將SDK的platform-tools文件夾中的adb.exe復制出來,將它粘貼到模擬器bin目錄中,並改名為“nox_adb.exe”, 模擬器本身就有一個“nox_adb.exe”, 將它刪掉。重啟模擬器,appnium連接模擬器就不會斷開了。

入坑5:環境搭建過程中電腦不能安裝殺毒軟件,類似360、電腦管家都不行,還有把連接軟件(互傳、應用寶等)也要關掉,否則安裝過程會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM