1. 程式人生 > 其它 >APP自動化2-python程式碼如何造作不同系統,不同版本的手機

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自動化