Appium自動獲取 Android 裝置 id 和包名等資訊(python)
使用 Appium,每次換裝置換 APP 測試時要在指令碼修改很多東西,很麻煩,要自動獲取可以通過指令獲得的資訊,使用該起來也方便。
最終效果是每次只需要修改測試的包的路徑和包名就可以自動刪除舊的安裝包,並獲得 Android 裝置 id 和包名等 Appium 需要的資訊。
適用於:Python + Android
使用到了 aapt,該工具在 SDK/tools 目錄下,如果你沒有設定環境變數,那需要進入該目錄下才能執行 aapt 命令,如果設定了環境變數則可以在任何目錄下執行 aapt 命令了。配置 aapt 環境變數的方法,請自行百度。
下面上程式碼:
# -*- coding: utf-8 -*-
from appium import webdriver
# 使用正規表示式篩選裝置 id
import re
# 使用time.sleep(xx)函式進行等待
import time
# 使用 os 模組呼叫命令
import os
# 測試的包的路徑和包名
appLocation = " /Users/Downloads/app.apk "
# 讀取裝置 id
readDeviceId = list(os.popen('adb devices').readlines())
# 正規表示式匹配出 id 資訊
deviceId = re.findall(r'^\w*\b', readDeviceId[1])[0]
# 讀取裝置系統版本號
deviceAndroidVersion = list(os.popen('adb shell getprop ro.build.version.release').readlines())
deviceVersion = re.findall(r'^\w*\b', deviceAndroidVersion[0])[0]
# 讀取 APK 的 package 資訊
appPackageAdb = list(os.popen('aapt dump badging ' + appLocation ).readlines())
appPackage = re.findall(r'\'com\w*.*?\'', appPackageAdb[0])[0]
# 刪除以前的安裝包
os.system('adb uninstall ' + appPackage)
desired_caps = {
'platformName': 'Android',
'platformVersion': deviceVersion,
'deviceName': deviceId,
'appPackage': appPackage,
'appWaitPackage': appPackage,
'app': appLocation,
'appActivity': appPackage + ".PageSplash",
command_executor = "http://localhost:4723/wd/hub"
相關文章
- Flutter獲取IOS bundle id和Android應用包名FlutteriOSAndroid
- Android 通過名稱獲取資源IDAndroid
- linux驅動之獲取裝置樹資訊Linux
- Android12以上獲取裝置網路訊號資料Android
- 在Java中獲取Android端登陸的裝置資訊JavaAndroid
- iOS 獲取裝置uuid,公網ip,手機ip等資訊iOSUI
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- iOS 獲取本機的裝置資訊UIDeviceiOSUIIDEdev
- js獲取裝置資訊的方法彙總JS
- android appium微信等自動化的那些坑兒AndroidAPP
- Appium Android 獲取WebView元素的方法APPAndroidWebView
- Appium常用操作之「Toast提示資訊獲取」APPAST
- 利用mitmproxy實現抖音Cookie,裝置ID獲取(一)MITCookie
- 利用 mitmproxy 實現抖音 Cookie,裝置 ID 獲取 (一)MITCookie
- Python自動化測試之獲取配置檔案資訊Python
- 【HarmonyOS NEXT】獲取解除安裝APP後不變的裝置IDAPP
- python 獲取excel資料 自動登陸PythonExcel
- Ios+appium自動化多裝置執行實現iOSAPP
- Maven 專案獲取 Git 的提交分支、commit id、構建時間等資訊MavenGitMIT
- 獲取連線電腦的裝置的所有埠資訊
- modbustcp封裝使用獲取裝置資料示例TCP封裝
- 自動獲取隨筆連結(用於部落格簽名或者版權資訊)
- Android APP如何獲取裝置網線插拔的狀態AndroidAPP
- C#使用ManagementObjectSearcher獲取本計算機CPU,硬碟,記憶體條等相關裝置資訊C#Object計算機硬碟記憶體
- Android使用getIdentifier()方法根據資源名來獲取資AndroidIDE
- python 呼叫 shell ,獲取返回值和返回資訊Python
- APPIUM-Android自動化元素定位方式APPAndroid
- PHP 獲取裝置型別PHP型別
- 【Python】獲取機器使用資訊Python
- 【轉】 android獲取裝置唯一標識完美解決方案Android
- 裝置id openpolit
- Android Studio修改專案名和包名Android
- 『與善仁』Appium基礎 — 22、獲取元素資訊的操作(一)APP
- HarmonyOS 如何獲取裝置資訊(系統、版本、網路連線狀態)
- 如何透過裝置基站獲取裝置經緯度
- Android自動化-如何獲取檢視元素屬性?Android
- Appium和Python實現螞蟻森林自動化收取能量APPPython
- mysql獲取指定表當前自增id值MySql