• 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()
  • 相关阅读:
    java多线程-阻塞队列BlockingQueue
    java多线程-ThreadLocal
    JZ-C-26
    JZ-C-25
    JZ-C-24
    JZ-C-23
    JZ-C-22
    JZ-C-21
    JZ-C-20
    JZ-C-19
  • 原文地址:https://www.cnblogs.com/wsfsd/p/11038947.html
Copyright © 2020-2023  润新知