zoukankan      html  css  js  c++  java
  • python实现APP自动化

    # /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 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", "elapsedtime")]

    # 单次测试过程
    def testprocess(self):
    self.app.LaunchApp()
    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

    # 数据存储到CSV中
    def SaveDataToCSV(self):
    csvfile = open('Test_startTime.csv', 'w')
    writer = csv.writer(csvfile)
    writer.writerows(self.alldata)
    csvfile.close()


    if __name__ == "__main__":
    controller = Controller(3)
    controller.run()
    controller.SaveDataToCSV()
  • 相关阅读:
    童年记忆
    展现、通讯、IO
    通电自动开机
    英雄每多屠狗辈,自古侠女出风尘(看黄金大劫案有感)
    反射整理学习<一>(转)
    在ASP.NET中跟踪和恢复大文件下载
    高内聚、低耦合
    你需要权限才能执行此操作
    WP7应用开发笔记(5) 通信设计
    一个简单的软件工程流程
  • 原文地址:https://www.cnblogs.com/wsfsd/p/11038947.html
Copyright © 2011-2022 走看看