python+appium 安装app,覆盖安装与卸载安装

app的安装两种方式: 1 卸载安装 2 覆盖安装

 

逻辑: 如果包存在且选择卸载安装,则卸载再安装;否则直接安装

driver.is_app_installed(app_package) 是否安装
driver.remove_app(app_package) 卸载
driver.install_app(path) 安装

 

from appium import webdriver


def install_app(app_package, path, is_cover=True):
    """
    :param app_package: 安装包名
    :param path: 安装包路径
    :param is_cover: 是否覆盖安装 True-覆盖安装,False-卸载安装
    """

    desired_caps = dict()
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5'
    desired_caps['deviceName'] = 'nox'

    # 系统应用
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  
driver.close_app()
   # 卸载安装 
  
  if driver.is_app_installed(app_package) and is_cover is False:
    driver.remove_app(app_package)
#卸载
    
print(app_package+"已卸载")
  try:
    driver.install_app(path)
#安装
  except BaseException:
    
print("安装失败")
  
else:
    
print(app_package + "app安装成功,安装路径:" + path)

# 退出 driver.quit()

 

posted @ 2021-11-11 18:23  dinghanhua  阅读(912)  评论(0编辑  收藏  举报