疯子--记录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()







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值