zoukankan      html  css  js  c++  java
  • 第二章-Python 实现 获取app 冷热启动时间脚本

    首先先回顾一下部分需要使用到的adb命令

    adb devices 查看连接设备
    adb shell "logcat | grep START" 查看监听
    adb shell am start -W -n +包/包ity 启动app 并且 查看时间
    adb shell am force-stop +包名 关闭app
    adb shell input keyevent 3   home 键返回
     
     
    代码如下
    #/usr/bin/python
    #encoding:utf-8
    import os
    import time
    import csv


    #app类


    class App(object):
    def __init__(self):
    self.content=''
    self.startTime = 0
    # 启动app
    def LaunchApp(self):
    cmd = 'adb shell am start -W -n io.dcloud.com.chuanyuankj.yibaoqrcode/io.dcloud.PandoraEntryActivity '
    self.content=os.popen(cmd)
    #停止app
    def StopApp(self):
    cmd = 'adb shell am force-stop io.dcloud.com.chuanyuankj.yibaoqrcode'
    os.popen(cmd)
    #获取启动时间
    def GetTime(self):
    for line in self.content.readlines():
    if "ThisTime" in line:
    self.startTime = line.split(":")[1]
    break
    return self.startTime


    #控制类
    class Controller(object):
    def __init__(self,count):
    self.app = App()
    self.counter = count
    self.alldata =[("timestamp","elpasetime")]

    #单次测试过c
    def testprocess(self):
    self.app.LaunchApp()
    time.sleep(5)
    elpasetime=self.app.GetTime()
    self.app.StopApp()
    time.sleep(3)
    currenttime = self.getCurrentTime()
    self.alldata.append((currenttime,elpasetime))

    #多次执行测试过程
    def run(self):
    while self.counter > 0 :
    self.testprocess()
    self.counter = self.counter - 1

    #获取当前时间戳
    def getCurrentTime(self):
    currentTime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    return currentTime

    def SaveDataCSV(self):
    csvfile =open('startTime22.csv', 'w',encoding='utf8',newline='')
    writer = csv.writer(csvfile)
    writer.writerows(self.alldata)
    csvfile.close()

    if __name__ == '__main__':
    controller = Controller(10)
    controller.run()
    controller.SaveDataCSV()

  • 相关阅读:
    Delphi集合的用法
    文字倒序输出(集合)
    如果知道两点的经纬度 如何算两点之间的距离
    Arcengine 开发完后,程序打包,在目标机器上不能使用 已解决
    arcengine License部署
    设置代理
    关于GPS坐标转换的学习笔记相当头疼
    ArcEngine 相关转载
    经纬度到平面坐标的相互转换
    用ArcEngine9.3开发GIS应用程序图层符号化解决方案
  • 原文地址:https://www.cnblogs.com/yyjiangnan/p/6700068.html
Copyright © 2011-2022 走看看