APP自动化教程
APP自動化教程
一、 Appium原理與安裝
1、app自動化原理
如何通過代碼操作不同操作系統(ios/android)不同版本的手機終端?
如上圖我們編寫自動化腳本發命令給Appium Server,然后Appium Server再把命令給Andirold SDK 工具包,Android SDK 工具包 再去操作手機或者模擬機
2、APP環境搭建
2.1 安裝JDK、配置JDK環境變量,可以從網上下載 jdk-8u211-windows-x64.exe
安裝好之后,還需要添加一個環境變量 JAVA_HOME ,指定 值 為 jdk安裝目錄,比如
2.2 安裝配置 Android SDK
解壓SDK并配置SDK的環境變量
(1)SDK的下載
下載地址:http://tools.android-studio.org/index.php/sdk
下載之后解壓
進入D:\android-sdk_r24.4.1-windows\android-sdk-windows目錄 雙擊SDK Manageer.exe下載響應包
以下是三個安卓工具包必須安裝;只需下載最新版本就可以
附加設備extras
安卓版本:安裝和模擬器的安卓版本一致。我的安卓是7.1.2系統
(2)配置SDK環境變更
添加一個 環境變量 ANDROID_HOME ,設置值為sdk包解壓目錄,比如 D:\android-sdk_r24.4.1-windows\android-sdk-windows[
還推薦大家配置環境變量 PATH ,加入 adb所在目錄, D:\android-sdk_r24.4.1-windows\android-sdk-windows\tools
驗證是否安裝并配置成功
在dos中輸入adby驗證
2.3模擬器安裝
百度夜神模擬器下載,然后下一步、下一步安裝即可
A.啟動設備的開發者選項,啟動調試功能
設置-多處點擊版本號直接出現提升{開發者選項}-返回上一步能看到開著選項-點擊USB調試
B 輸入命令前:因為SDK下的adb{在SDK目錄下}和模擬器nox_adb版本不一致,上一需要把SDK路徑下的adb.exe復制到模擬器的bin下,從命名為nox_adb.exe(替換前備份下nox_adb.ex)
2.4 Appium安裝
百度Appium下載,然后下一步、下一步安裝即可
2.5 安裝client編程庫
根據原理圖, 我們知道自動化程序需要調用客戶端庫和 Appium Server 進行通信。
因為我們介紹Python語言開發,所以當然是用pip安裝,如下
pip install appium-python-client
3、desired Capabilites_APPIUM
desired_caps = {
‘platformName’: ‘Android’, # 被測手機是安卓
‘platformVersion’: ‘7.1.2’, # 手機安卓版本
‘deviceName’: ‘xxx’, # 設備名,安卓手機可以隨意填寫
‘appPackage’: ‘com.xxx.xxx.beta’, # 啟動APP Package名稱
‘appActivity’: ‘com.xxx.xxx.activity.SplashActivity’, # 啟動Activity名稱
#‘unicodeKeyboard’: True, # 使用自帶輸入法,輸入中文時填True
#‘resetKeyboard’: True, # 執行完程序恢復原來輸入法
‘noReset’: True, # 不要重置App
進入啟動頁面
3、常用ADB命令
3.1鏈接模擬器
Adb connect 127.0.0.1:62001
其他模擬器:雷神5555 夜神62001 mumu755
3.2查看連接的設備
Adb devices
3.3 查看包名
(1)沒有apk
如果你應用已經安裝在手機上了,可以直接打開手機上該應用,進入到你要操作的界面
然后執行
adb shell dumpsys activity recents | find “intent={”
會顯示如下,最近的 幾個 activity 信息,
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000300cmp=com.huawei.android.launcher/.unihome.UniHomeLauncher}
intent={flg=0x10804000 cmp=com.android.systemui/.recents.RecentsActivity bnds=[48,1378][10322746]}
intent={flg=0x10000000 cmp=com.tencent.mm/.ui.LauncherUI}
其中第一行就是當前的應用,我們特別關注最后
cmp=tv.danmaku.bili/.ui.splash.SplashActivity
應用的package名稱就是 tv.danmaku.bili
應用的啟動Activity就是 .ui.splash.SplashActivity
(2)有apk
如果你已經獲取到了 apk,在命令行窗口執行
d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find “package: name=”
輸出信息中,就有應用的package名稱
package: name=‘tv.danmaku.bili’ versionCode=‘5531000’ versionName=‘5.53.1’ platformBuildVersionName=‘5.53.1’ compileSdkVersion=‘28’ compileSdkVersionCodename=‘9’
在命令行窗口執行
d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find “launchable-activity”
輸出信息中,就有應用的啟動Activity
launchable-activity: name=‘tv.danmaku.bili.ui.splash.SplashActivity’ label=‘’ icon=‘’
總結
- 上一篇: 智慧指间丨矿山、化工行业职业病危害因素监
- 下一篇: pajek数据格式