安装APP:
def install(device, App_dir):
"""
指定设备,app 进行安装 并启动
:param device: 设备
:param App_dir: apk地址
"""
clear_device(device)
cmd = 'adb -s ' + device + ' install -r ' + App_dir
result = os.popen(cmd)
result.read()
log.debug("run:{}".format(str(cmd)))
return
判断是否安装成功:
def get_install(device, package):
"""
判断设备中是否安装了指定app
:param device: 设备名称
:param package: 包名
:return: 安装了:True/未安装:False
"""
cmd = "adb -s " + device + " shell pm list package"
result = os.popen(cmd)
log.debug("run:{}".format(str(cmd)))
if package in result.read():
return True
else:
return False
卸载APP:
def uninstall(device, appPackage):
"""
卸载指定apk
:param device: 设备名称
:param appPackage: 包名
"""
cmd = 'adb -s ' + device + ' uninstall ' + appPackage
result = os.popen(cmd)
result.read()
log.debug("run:{}".format(str(cmd)))
if not get_install(device, appPackage):
return False
return True
封装adb完成的相关方法:
class adbtest:
def __init__(self, path, device, page):
"""
通过adb命令测试
:param path: 设备地址
:param device: apk标识
:param page: 包名
"""
self.device = device
self.path = path
self.page = page
def install_judge(self):
"""
判断安装兼容结果
:return: True/失败结果
"""
try:
install(self.device, self.path)
time.sleep(TIME)
if get_install(self.device, self.page):
return True
except Exception as a:
return "安装报错:{}".format(a)
return "安装失败"