用pyhton+tkinter 编写一段代码并封装。功能要求:获取手机APP从点击到界面稳定的时间
时间: 2024-03-16 22:47:29 浏览: 60
以下是一个使用Python和Tkinter编写的获取手机APP从点击到界面稳定的时间的代码,并进行了封装,方便调用:
```python
import adb
import time
import tkinter as tk
class AppStableTimeChecker:
def __init__(self, device_id):
self.client = adb.AdbClient('127.0.0.1', 5037)
self.device = self.client.device(device_id)
def check(self, package_name, activity_name):
# 启动应用
self.device.shell(f'am start -n {package_name}/{activity_name}')
# 获取界面稳定时间
start_time = time.time()
while True:
result = self.device.shell('dumpsys SurfaceFlinger --latency-clear').strip()
if result.startswith('All SF'):
end_time = time.time()
break
# 计算界面稳定时间
stable_time = end_time - start_time
return stable_time
class AppStableTimeCheckerGUI:
def __init__(self):
self.root = tk.Tk()
self.root.geometry('300x200')
self.root.title('App稳定时间检测工具')
# 设备ID输入框
self.device_id_label = tk.Label(self.root, text='设备ID:')
self.device_id_label.pack()
self.device_id_entry = tk.Entry(self.root)
self.device_id_entry.pack()
# 包名输入框
self.package_name_label = tk.Label(self.root, text='包名:')
self.package_name_label.pack()
self.package_name_entry = tk.Entry(self.root)
self.package_name_entry.pack()
# Activity名输入框
self.activity_name_label = tk.Label(self.root, text='Activity名:')
self.activity_name_label.pack()
self.activity_name_entry = tk.Entry(self.root)
self.activity_name_entry.pack()
# 检测按钮
self.check_button = tk.Button(self.root, text='检测', command=self.check)
self.check_button.pack()
# 显示结果的Label
self.result_label = tk.Label(self.root)
self.result_label.pack()
def check(self):
device_id = self.device_id_entry.get()
package_name = self.package_name_entry.get()
activity_name = self.activity_name_entry.get()
# 创建App稳定时间检测器
checker = AppStableTimeChecker(device_id)
# 检测稳定时间
stable_time = checker.check(package_name, activity_name)
# 显示结果
self.result_label.config(text=f'稳定时间:{stable_time:.2f}秒')
def run(self):
self.root.mainloop()
```
使用方法:
1. 创建一个`AppStableTimeCheckerGUI`对象。
2. 运行`run()`方法启动GUI界面。
3. 在GUI界面中输入设备ID、应用包名和Activity名。
4. 点击“检测”按钮,程序会自动启动应用并计算界面稳定时间。
5. 界面会显示计算出的界面稳定时间。
示例代码:
```python
gui = AppStableTimeCheckerGUI()
gui.run()
```
请注意,在使用该程序之前,请确保您已经正确安装了adb库和Tkinter库,并且已经连接了Android设备。
阅读全文