python脚本第一篇,运行时间测试

第一步:熟悉APP启动命令

冷/热启动APP命令 :adb shell am start –W –n package/activity

        比如 adb shell am start –W –n com.android.browser/.BrowserActivity (打开浏览器)

冷停止app命令:adb shell am force-stop package

热停止app命令: adb shell input keyevent 3

Activity监听:adb logcat | grep START   注意:只有在Mac上才能运行,win无法运行

第二步:打开pycharm


“#” 这是表示注释,不读这行代码

开始代码:

#/usr/bin/python

#encoding:utf-8

import csv

import os

import time

class App(object):

    def __init__(self):

        self.content =""

        self.startTime =0

    #启动App

    def LaunchApp(self):

            cmd ='adb shell am start -W -n com.android.browser/.BrowserActivity'

            self.content=os.popen(cmd)

#停止App

    def StopApp(self):

            cmd ='adb shell am force-stop com.android.browser'

            #cmd = 'adb shell input keyevent 3'

            os.popen(cmd)

#获取启动时间

    def GetLaunchedTime(self):

            for linein 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","elapsedtime")]

#单次测试过程

    def testprocess(self):

        self.app.LaunchApp()

#打开程序后停止5秒用于加载资源

        time.sleep(5)

        elpasedtime =self.app.GetLaunchedTime()

        self.app.StopApp()

        time.sleep(3)

        currenttime =self.getCurrentTime()

        self.alldata.append((currenttime, elpasedtime))

#多次执行测试过程

    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 SaveDataToCSV(self):

#mode='w'表示写入,encoding='utf-8' 写入格式

            csvfile =open('startTime.csv',mode='w',encoding='utf-8')

            writer = csv.writer(csvfile)

            writer.writerows(self.alldata)

            csvfile.close()

if __name__ =="__main__":

controller = Controller(3)

controller.run()

controller.SaveDataToCSV()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容