PCM_Report/test_auto_refresh.py

90 lines
2.7 KiB
Python
Raw Normal View History

2025-12-11 14:32:31 +08:00
#!/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()