- 封装uiautomator相关方法-定义class:
class uitest:
def __init__(self, path, device, page):
"""
通过uiautomator2进行测试
:param device: 设备地址
:param apkId: apk标识
:param runType: 文件类型:0原始文件;1加固文件
"""
self.device = device
self.path = path
self.page = page
self.d = u2.connect(self.device)
self.d.unlock()
- 判断是否在运行:
def get_run(self):
"""
判断程序是否还在运行
:return: True/False
"""
try:
if self.page in self.d.app_list_running():
return True
else:
return False
except:
return False
- 获取设备基本信息:
def get_info(self):
info = self.d.device_info
return info['version'], info['model'], self.page, self.device
- 判断是否启动情况:
def start_judge(self):
try:
self.d.app_start(self.page)
time.sleep(TIME)
if self.d.app_current()['package'] == self.page:
return True
except Exception as a:
return "启动报错:{}".format(a)
return "启动失败"
- 处理权限弹窗:
MSGS = ["确定", "允许", "同意", "跳过", "我同意", "立即使用", "下一步", "开启", "是", '跳过广告']
def passForClick(self):
while True:
k = True
for k in MSGS:
ks = set(self.d(clickable="True", text=k))
if len(ks) != 0:
list(ks)[0].click()
k = False
if k:
return
卸载APP:
def uninstallApk(self):
self.d.app_uninstall(self.page)