1、目的介绍
-
本文主要通过Python 的os.popen()方法执行adb命令,进行封装,达到自动化测试指定APP的冷启动、热启动。指定执行次数,取对应平均值。
-
冷启动:启动应用时,后台没有该应用的进程,此时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。
-
热启动:启动应用时,后台已有该应用的进程(如:操作HOME键回返回至桌面,此时该应用的进程仍会保留在后台,可在任务列表内查看),故在已有进程的情况下,该种启动会在已有的进程内来启动应用,这个方式叫热启动。
2、获取待测APP的包名以及Activity
- 使用adb命令:adb shell dumpsys window | findstr “mCurrentFocus”
- 注:常用adb命令总结:https://www.jianshu.com/p/d6340b67d9e3
- 以手机QQ为例:连接手机,并进入手Q主页,执行adb命令获取包名+activity
如图可见,手Q包名:‘com.tencent.mobileqq’,主页activity:‘com.tencent.mobileqq.activity.SplashActivity’
3、封装脚本代码
# -*- coding: utf-8 -*-
"""
@author: rzb
@software: PyCharm
@file: adbtest.py
@time: 2019/9/21 12:00
"""
import os
import re
import time
class MobileQQTest(object):
def __init__(self, num):
self.data = []
self.num = num
self.app = 'com.tencent.mobileqq'
self.activity = 'com.tencent.mobileqq.activity.SplashAc