疯子--记录1

一、使用到的adb命令

adb shell logcat | grep START

adb shell  am start -W -n  package/active

adb shell am force-stop package

adb shell input keyevent3

二、思路

1、获取包名active名

2、杀死/退出APP进程

3、启动app记录时间

命令执行层:定义3个函数,保存命令

逻辑执行层:控制逻辑执行

数据保存层:保存数据

三、

测试时出现的问题:APP无法启动,报错权限限制,请找开发解决,正常APP不会出现此情况,百度说active调用出了问题,开发打了新包解决了此问题

四、代码

#coding=utf-8
import  time
import  os,csv

class start():
    def __init__(self,apk_package,counts,type=1):
        self.apk_package=apk_package
        self.counts=counts
        self.type=type
        self.time = [("time,start_time"),]
    def start(self):   #冷启动
        self.start_data=os.popen('adb shell am start -W -n %s'%self.apk_package)
    def stop_app(self):     #关闭APP
        os.system('adb shell am force-stop %s'%self.apk_package.split("/")[0])
    def quit_app(self):  #返回桌面
        os.system('abd shell input keyevent3')
    def run(self):  #运行逻辑
        for i in range(self.counts):
           if  i<self.counts and self.type==1 :
               self.stop_app()
               time.sleep(1)
               self.start()
               for j  in  self.start_data:
                   if 'ThisTime' in j:
                      t=j.split(":")[1]
                      d = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
                      self.time.append((d, t))
                      break
           elif i<self.counts and self.type==2 :
                self.quit_app()
                time.sleep(1)
                self.start()
                for j in self.start_data:
                    if 'ThisTime' in j:
                        t = j.split(":")[1]
                        d = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
                        self.time.append((d, t))
                        break
    def save_csv(self):  #保存CSV文件
        with open('../CSV/app_start.csv', 'w', newline='') as f:
            for i in self.time:
                i=str(i)
                f.write("\n"+i)
if  __name__=="__main__":
    start =start('com.duowan.kiwi/.homepage.Homepage',5)
    start.run()
    start.save_csv()







猜你喜欢

转载自blog.csdn.net/x1295526817/article/details/80384380