PCM_Report/test_auto_refresh.py

90 lines
2.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/usr/bin/env python3
"""
测试自动刷新功能
"""
import time
import subprocess
import sys
def test_auto_refresh():
"""测试自动刷新功能"""
print("🧪 测试自动刷新功能")
print("=" * 40)
print("📋 测试步骤:")
print("1. 确保程序正在运行")
print("2. 确保有工单在等待状态")
print("3. 自动执行状态变化序列")
print("4. 观察界面是否自动刷新")
print("\n🚀 开始测试...")
try:
# 1. 写入状态1实验开始
print("\n📝 步骤1: 写入状态1实验开始")
result = subprocess.run(
['python', 'quick_test_data.py'],
input='3\n',
text=True,
capture_output=True,
cwd='.'
)
if result.returncode == 0:
print("✅ 状态1写入成功")
print("💡 请观察程序界面,应该显示实验开始时间")
else:
print(f"❌ 状态1写入失败: {result.stderr}")
return
# 等待10秒让用户观察
print("\n⏳ 等待10秒请观察界面变化...")
for i in range(10, 0, -1):
print(f" 倒计时: {i}", end='\r')
time.sleep(1)
print()
# 2. 写入状态0实验结束
print("\n📝 步骤2: 写入状态0实验结束")
result = subprocess.run(
['python', 'quick_test_data.py'],
input='2\n',
text=True,
capture_output=True,
cwd='.'
)
if result.returncode == 0:
print("✅ 状态0写入成功")
print("💡 请观察程序界面,应该显示实验结束时间")
else:
print(f"❌ 状态0写入失败: {result.stderr}")
return
print("\n🎉 测试完成!")
print("📊 如果看到以下现象,说明自动刷新功能正常:")
print(" ✅ 写入状态1后界面自动显示开始时间")
print(" ✅ 写入状态0后界面自动显示结束时间")
print(" ✅ 状态栏显示状态变化消息")
print(" ✅ 不需要手动点击刷新按钮")
except Exception as e:
print(f"❌ 测试失败: {e}")
def main():
print("自动刷新功能测试工具")
print("=" * 30)
print("⚠️ 注意事项:")
print("1. 请确保程序 python main.py 正在运行")
print("2. 请确保有工单在等待状态(橙色按钮)")
print("3. 测试过程中请观察程序界面的变化")
input("\n按回车键开始测试...")
test_auto_refresh()
if __name__ == "__main__":
main()