APP自動化2-python程式碼如何造作不同系統,不同版本的手機
一,前言
Android SDK 不同系統和版本差異比較大,不同系統不同版本直接可能用到不同的軟體包或者框架,因此需要自動化指令碼去執行操作終端的設定引數
二、自動化設定引數項,desired capabilities-appium
appium官方文件地址:https://appium.io/docs/cn/writing-running-appium/caps/
可以自行進入檢視官方文件提供的初始化引數,也有安卓獨有引數,iOS獨有引數,下面講解下安卓系統常用的幾個引數
1.手機系統
引數名:platformName
引數值獲取路徑:設定--系統--關於手機
2. 版本
引數名:platformVersion
引數值獲取路徑:設定--系統--關於手機
3.裝置名稱
引數名:deviceName
引數值獲取路徑:設定--系統--關於手機
4.包名
引數名:appPackage
引數值獲取方式:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
5.入口啟動頁面
引數名:appActivity
引數值獲取路徑:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
6.noReset,預設false,預設重置,即每次都是重新進入APP
三、常用adb命令
1.檢視終端是否連線成功 ----adb devices
2.連線模擬器或者真機:
adb connect 127.0.0.1:62001--夜神模擬器
adb connect 127.0.0.1:5555---雷神
3. 檢視被測APP包名和入口
app放都電腦端無中文路徑下,使用如下命令在cmd視窗進行檢視,若提示aapt不是內部命令則在下圖路徑中輸入cmd開啟docs視窗
命令:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
結果:
包名關鍵字:package: name
啟動入口關鍵字:launchable-activity: name
四. python如何將上述引數傳遞給appium
1 from appium import webdriver 2 3 # 1 設定終端引數 4 desired_caps = { 5 "platformName": "Android", 6 "platformVersion": 9, 7 "deviceName": "TECNO KC3", 8 "appPackage": "com.tencent.mobileqq", 9 "appActivity": "com.tencent.mobileqq.activity.SplashActivity", 10 "noReset": True} 11 12 # 2 傳送指令給appium driver 13 webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) 14 # 3 還需要做什麼? 15 # 3.1 確保appium server開啟 16 # 3.2 確保終端連線,使用adb命令,adb devices檢視終端是否連線
觀察終端或者模擬器,會自動開啟QQ,初步實現了APP自動化