用最簡單的話術,描述最難理解的問題。
【原理】:
用簡單的話來說就是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命令01:pip install UIautomator2
cmd命令02:python -m uiautomator2 init 。(如果是模擬器,執行時如果報這個錯誤: No module named uiautomator2 , 解決辦法:先執行命令adb connect 127.0.0.1:62001連接上設備后再執行命令。)
cmd命令03:pip 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、電腦管家都不行,還有把連接軟件(互傳、應用寶等)也要關掉,否則安裝過程會報錯。