python shell怎么打开测试,python脚本第一篇,运行时间测试

这篇博客介绍了如何利用ADB命令在Mac环境下进行Android应用的冷/热启动及停止,并通过Python脚本来自动化测试App的启动时间。首先,详细列举了启动、停止App的ADB命令,然后展示了一个Python类,该类包含了启动、停止App以及获取启动时间的方法。最后,定义了一个Controller类来执行多次测试并保存数据到CSV文件。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值