使用appium(python)做APP的自動化測試

  • 查看apk包名、主activity、版本等信息
    使用aapt(Android_SDK\build-tools下的工具)
    window對話框先進入到你的AndroidSDK路徑下,C:\Users\XXX\Downloads\AndroidSDK\Android_SDK_windows\build-tools\19.1.0;
    然後執行aapt dump badging 文件(zip/jar/apk都可以)

包名: package: name=‘com.rfchina.app.supercommunity.Dev’
版本: versionCode=‘613’ versionName=‘4.6.0.613’
主activity:launchable-activity: name=‘com.rfchina.app.supercommunity.client.StartActivity’

  • Appium Desired Capabilities

官方文檔: https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

  1. deviceName:設備名稱。模擬器的話就是iPhone Simulator/Android Emulator;真機則打開手機設置–》關於手機,其中的名稱就是設備名稱
  2. automationName:自動化引擎,appium
  3. platformName:平臺名稱,IOS/Android
  4. platformVersion:平臺版本,安卓版本,ios版本
  5. appPackage:包名(你測試的包名,前面介紹瞭如何查詢)
  6. appActivity:活動名(前面有介紹如何查詢)
  7. noReset:是否重置應用狀態,True則跳過安裝指引
    (具體可見官方文檔)
  • 打開appium服務器(appium_desktop),配置的默認地址是:localhost:4723
  • 連接手機或者是打開模擬器(我這裏連接的是真機)
  • 上代碼
from appium import webdriver

package = 'com.rfchina.app.supercommunity.Dev'
desired_caps = {
    'deviceName': 'HUAWEI P30',
    'automationName': 'appium',
    'platformName': 'Android',
    'platformVersion': '10',
    'appPackage': package,
    'appActivity': 'com.rfchina.app.supercommunity.SplashActivity',
    'noReset': 'True'
}
#連到已經打開的appium_desktop服務器
driver = webdriver.Remote(command_executor='http://localhost:4723/wd/hub',
                          desired_capabilities=desired_caps)

#判斷當前的手機是否已安裝測試包
if driver.is_app_installed(package):
    # driver.close_app(package)
    # driver.launch_app(package)
    driver.find_element_by_id('com.rfchina.app.supercommunity.Dev:id/ivIcon').click()
else:
    print('沒有這個應用')

#退出webdriver
driver.quit()

  • 執行代碼期間可以看到appium服務器頁面上展示正在執行的命令,連接的手機在自動點擊(執行的時候手機會需要安裝一些軟件,根據指引操作就ok)

請提前安裝appium desktop、appium-python-client(我是使用python,如果是其他語言下載其他的)、AndroidSDK

appium desktop瞎咋地址:https://github.com/appium/appium-desktop/releases/tag/v1.15.1
下載appium-python-client:pip install appium-python-client

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