app自動化測試一:python+Appium 在真機設備上自動安裝並啓動APP

1、將要查看包名的apk,拷貝至sdk文件夾:sdk/build-tools/29.0.3,然後繼續在終端輸入命令:aapt dump badging lemonban-lemon_app_webview_debug.apk,返回

package: name='com.lemon.lemonban' versionCode='20181113' versionName='2.1.2' platformBuildVersionName='2.1.2'

sdkVersion:'15'

targetSdkVersion:'27'

uses-permission: name='android.permission.ACCESS_NETWORK_STATE'

uses-permission: name='android.permission.INTERNET'

uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'

uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'

uses-permission: name='android.permission.CAMERA'

uses-permission: name='android.permission.INTERNET'

uses-permission: name='android.permission.READ_PHONE_STATE'

uses-permission: name='android.permission.ACCESS_NETWORK_STATE'

uses-permission: name='android.permission.CHANGE_WIFI_STATE'

uses-permission: name='android.permission.ACCESS_WIFI_STATE'

uses-permission: name='android.permission.WAKE_LOCK'

uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'

uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'

uses-permission: name='android.permission.VIBRATE'

uses-permission: name='android.permission.GET_TASKS'

uses-permission: name='android.permission.BLUETOOTH'

uses-permission: name='android.permission.BLUETOOTH_ADMIN'

uses-permission: name='android.permission.ACCESS_FINE_LOCATION'

uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'

uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW'

uses-permission: name='getui.permission.GetuiService.com.lemon.lemonban'

uses-permission: name='android.permission.MOUNT_UNMOUNT_FILESYSTEMS'

application-label:'檸檬班'

application-label-af:'檸檬班'

application-label-am:'檸檬班'

application-label-ar:'檸檬班'

application-label-az:'檸檬班'

application-label-be:'檸檬班'

application-label-bg:'檸檬班'

application-label-bn:'檸檬班'

application-label-bs:'檸檬班'

application-label-ca:'檸檬班'

application-label-cs:'檸檬班'

application-label-da:'檸檬班'

application-label-de:'檸檬班'

application-label-el:'檸檬班'

application-label-en-AU:'檸檬班'

application-label-en-CA:'檸檬班'

application-label-en-GB:'檸檬班'

application-label-en-IN:'檸檬班'

application-label-en-XC:'檸檬班'

application-label-es:'檸檬班'

application-label-es-US:'檸檬班'

application-label-et:'檸檬班'

application-label-eu:'檸檬班'

application-label-fa:'檸檬班'

application-label-fi:'檸檬班'

application-label-fr:'檸檬班'

application-label-fr-CA:'檸檬班'

application-label-gl:'檸檬班'

application-label-gu:'檸檬班'

application-label-hi:'檸檬班'

application-label-hr:'檸檬班'

application-label-hu:'檸檬班'

application-label-hy:'檸檬班'

application-label-in:'檸檬班'

application-label-is:'檸檬班'

application-label-it:'檸檬班'

application-label-iw:'檸檬班'

application-label-ja:'檸檬班'

application-label-ka:'檸檬班'

application-label-kk:'檸檬班'

application-label-km:'檸檬班'

application-label-kn:'檸檬班'

application-label-ko:'檸檬班'

application-label-ky:'檸檬班'

application-label-lo:'檸檬班'

application-label-lt:'檸檬班'

application-label-lv:'檸檬班'

application-label-mk:'檸檬班'

application-label-ml:'檸檬班'

application-label-mn:'檸檬班'

application-label-mr:'檸檬班'

application-label-ms:'檸檬班'

application-label-my:'檸檬班'

application-label-nb:'檸檬班'

application-label-ne:'檸檬班'

application-label-nl:'檸檬班'

application-label-pa:'檸檬班'

application-label-pl:'檸檬班'

application-label-pt:'檸檬班'

application-label-pt-BR:'檸檬班'

application-label-pt-PT:'檸檬班'

application-label-ro:'檸檬班'

application-label-ru:'檸檬班'

application-label-si:'檸檬班'

application-label-sk:'檸檬班'

application-label-sl:'檸檬班'

application-label-sq:'檸檬班'

application-label-sr:'檸檬班'

application-label-sr-Latn:'檸檬班'

application-label-sv:'檸檬班'

application-label-sw:'檸檬班'

application-label-ta:'檸檬班'

application-label-te:'檸檬班'

application-label-th:'檸檬班'

application-label-tl:'檸檬班'

application-label-tr:'檸檬班'

application-label-uk:'檸檬班'

application-label-ur:'檸檬班'

application-label-uz:'檸檬班'

application-label-vi:'檸檬班'

application-label-zh:'檸檬班'

application-label-zh-CN:'檸檬班'

application-label-zh-HK:'檸檬班'

application-label-zh-TW:'檸檬班'

application-label-zu:'檸檬班'

application-icon-120:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-160:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-240:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-320:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-480:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-640:'res/mipmap-anydpi-v26/ic_launcher.xml'

application-icon-65534:'res/mipmap-anydpi-v26/ic_launcher.xml'

application: label='檸檬班' icon='res/mipmap-anydpi-v26/ic_launcher.xml'

application-debuggable

launchable-activity: name='com.lemon.lemonban.activity.WelcomeActivity'  label='' icon=''

launchable-activity: name='com.squareup.leakcanary.internal.DisplayLeakActivity'  label='Leaks' icon='res/drawable-mdpi-v4/__leak_canary_icon.png'

feature-group: label=''

  uses-feature: name='android.hardware.bluetooth'

  uses-implied-feature: name='android.hardware.bluetooth' reason='requested android.permission.BLUETOOTH permission, requested android.permission.BLUETOOTH_ADMIN permission, and targetSdkVersion > 4'

  uses-feature: name='android.hardware.camera'

  uses-implied-feature: name='android.hardware.camera' reason='requested android.permission.CAMERA permission'

  uses-feature: name='android.hardware.faketouch'

  uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'

  uses-feature: name='android.hardware.location'

  uses-implied-feature: name='android.hardware.location' reason='requested android.permission.ACCESS_COARSE_LOCATION permission, and requested android.permission.ACCESS_FINE_LOCATION permission'

  uses-feature: name='android.hardware.screen.portrait'

  uses-implied-feature: name='android.hardware.screen.portrait' reason='one or more activities have specified a portrait orientation'

  uses-feature: name='android.hardware.wifi'

  uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission, and requested android.permission.CHANGE_WIFI_STATE permission'

main

other-activities

other-receivers

other-services

supports-screens: 'small' 'normal' 'large' 'xlarge'

supports-any-density: 'true'

locales: '--_--' 'af' 'am' 'ar' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh' 'zh-CN' 'zh-HK' 'zh-TW' 'zu'

densities: '120' '160' '240' '320' '480' '640' '65534'

native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'

2、電腦通過數據線連接真機,打開USB調試模式並授權允許USB調試,然後在終端輸入命令:adb devices,返回

List of devices attached

91QECP8554M9 device,說明真機設備連接成功

3、啓動appium,pycharm創建腳本:

from appium import webdriver

desired_caps = {
    "platformName": "Android",
    "platformVersion": "7.0",
    "deviceName": "m3 note",
    "app": "/Users/ylc/Documents/app/lemonban-lemon_app_webview_debug.apk",
    "appPackage": "com.lemon.lemonban",
    "appActivity": "com.lemon.lemonban.activity.WelcomeActivity",
    "noReset": "true"
}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

4、運行腳本,查看真機設備,發現apk正在安裝和啓動

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章