美文网首页python自动化测试脚本
python脚本第一篇,运行时间测试

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

作者: 韦神的香蕉 | 来源:发表于2019-04-29 12:32 被阅读0次

第一步:熟悉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()

相关文章

网友评论

    本文标题:python脚本第一篇,运行时间测试

    本文链接:https://www.haomeiwen.com/subject/ajzenqtx.html