a
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
测试简单循环版本
|
||||
"""
|
||||
|
||||
from playwright.sync_api import sync_playwright
|
||||
import time
|
||||
|
||||
def test_simple_loop():
|
||||
"""测试简单循环版本"""
|
||||
print("🎮 测试简单循环版本")
|
||||
print("=" * 60)
|
||||
|
||||
url = "http://129.211.173.87:8895/games/tetris/tetris_simple_loop.html"
|
||||
print(f"🌐 测试URL: {url}")
|
||||
|
||||
with sync_playwright() as p:
|
||||
browser = p.chromium.launch(headless=True)
|
||||
|
||||
context = browser.new_context(
|
||||
viewport={"width": 1280, "height": 720},
|
||||
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
||||
)
|
||||
|
||||
page = context.new_page()
|
||||
|
||||
try:
|
||||
# 导航到页面
|
||||
print("📡 加载页面...")
|
||||
page.goto(url, wait_until="networkidle", timeout=10000)
|
||||
print("✅ 页面加载成功")
|
||||
|
||||
# 等待初始化
|
||||
time.sleep(2)
|
||||
|
||||
# 收集日志
|
||||
logs = []
|
||||
page.on("console", lambda msg: logs.append({
|
||||
"type": msg.type,
|
||||
"text": msg.text
|
||||
}))
|
||||
|
||||
# 点击开始按钮
|
||||
print("🔘 点击开始按钮...")
|
||||
start_btn = page.query_selector("#start-btn")
|
||||
if start_btn:
|
||||
start_btn.click(timeout=3000)
|
||||
print("✅ 开始按钮点击成功")
|
||||
else:
|
||||
print("❌ 未找到开始按钮")
|
||||
return
|
||||
|
||||
# 等待游戏运行
|
||||
print("⏳ 等待游戏运行20秒...")
|
||||
time.sleep(20)
|
||||
|
||||
# 分析日志
|
||||
print("\n📊 日志分析:")
|
||||
|
||||
spawn_logs = [log for log in logs if "生成新方块" in log["text"]]
|
||||
move_logs = [log for log in logs if "移动方块" in log["text"] or "游戏循环" in log["text"]]
|
||||
error_logs = [log for log in logs if log["type"] == "error"]
|
||||
|
||||
print(f" 总日志数: {len(logs)}")
|
||||
print(f" 方块生成日志: {len(spawn_logs)}")
|
||||
print(f" 方块移动日志: {len(move_logs)}")
|
||||
print(f" 错误日志: {len(error_logs)}")
|
||||
|
||||
# 显示关键日志
|
||||
if spawn_logs:
|
||||
print(f"\n🧱 方块生成记录:")
|
||||
for i, log in enumerate(spawn_logs[-3:]):
|
||||
print(f" {i+1}. {log['text']}")
|
||||
|
||||
if move_logs:
|
||||
print(f"\n🚀 方块移动记录:")
|
||||
for i, log in enumerate(move_logs[-10:]):
|
||||
print(f" {i+1}. {log['text']}")
|
||||
|
||||
if error_logs:
|
||||
print(f"\n❌ 错误记录:")
|
||||
for i, log in enumerate(error_logs):
|
||||
print(f" {i+1}. {log['text']}")
|
||||
|
||||
# 评估
|
||||
print("\n📈 测试结果:")
|
||||
|
||||
if len(spawn_logs) > 0:
|
||||
print(f" ✅ 方块生成正常 ({len(spawn_logs)}次)")
|
||||
else:
|
||||
print(" ❌ 方块未生成")
|
||||
|
||||
if len(move_logs) > 0:
|
||||
print(f" ✅ 方块移动正常 ({len(move_logs)}次)")
|
||||
print(f" ✅ 游戏循环工作正常")
|
||||
else:
|
||||
print(" ❌ 方块未移动")
|
||||
print(" ❌ 游戏循环可能有问题")
|
||||
|
||||
if len(error_logs) == 0:
|
||||
print(" ✅ 无JavaScript错误")
|
||||
else:
|
||||
print(f" ❌ 有{len(error_logs)}个JavaScript错误")
|
||||
|
||||
# 截图
|
||||
screenshot_path = "/tmp/simple_loop_test.png"
|
||||
page.screenshot(path=screenshot_path, full_page=True)
|
||||
print(f"\n📸 截图保存: {screenshot_path}")
|
||||
|
||||
# 总体评估
|
||||
print("\n🏆 总体评估:")
|
||||
if len(spawn_logs) > 0 and len(move_logs) > 0:
|
||||
print(" 🎉 完美! 简单循环版本工作正常!")
|
||||
print(" 🚀 游戏可以在Windows浏览器上正常运行!")
|
||||
elif len(spawn_logs) > 0:
|
||||
print(" 👍 部分成功! 方块生成但未移动")
|
||||
print(" 🔧 需要检查移动逻辑")
|
||||
else:
|
||||
print(" ⚠️ 失败! 游戏未正常工作")
|
||||
print(" 🔧 需要深入调试")
|
||||
|
||||
finally:
|
||||
page.close()
|
||||
context.close()
|
||||
browser.close()
|
||||
|
||||
print("\n✅ 测试完成!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_simple_loop()
|
||||
Reference in New Issue
Block a user