| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- """
- 浏览器工具测试脚本
- 用于诊断 browser-use 在不同配置下的行为
- """
- import asyncio
- import sys
- from pathlib import Path
- # 添加项目根目录到路径
- sys.path.insert(0, str(Path(__file__).parent.parent.parent))
- from agent.tools.builtin.browser.baseClass import (
- init_browser_session,
- cleanup_browser_session,
- browser_navigate_to_url
- )
- async def test_headless_true():
- """测试 headless=True 模式"""
- print("\n" + "="*60)
- print("测试 1: headless=True 模式")
- print("="*60)
- try:
- session, tools = await init_browser_session(
- browser_type="local",
- headless=True
- )
- print("✅ 浏览器会话初始化成功 (headless=True)")
- # 测试导航
- result = await browser_navigate_to_url("https://www.example.com")
- print(f"✅ 导航成功: {result}")
- await cleanup_browser_session()
- print("✅ 清理成功")
- return True
- except Exception as e:
- print(f"❌ 失败: {e}")
- import traceback
- traceback.print_exc()
- return False
- async def test_headless_false():
- """测试 headless=False 模式"""
- print("\n" + "="*60)
- print("测试 2: headless=False 模式")
- print("="*60)
- try:
- session, tools = await init_browser_session(
- browser_type="local",
- headless=False
- )
- print("✅ 浏览器会话初始化成功 (headless=False)")
- # 测试导航
- result = await browser_navigate_to_url("https://www.example.com")
- print(f"✅ 导航成功: {result}")
- await cleanup_browser_session()
- print("✅ 清理成功")
- return True
- except Exception as e:
- print(f"❌ 失败: {e}")
- import traceback
- traceback.print_exc()
- return False
- async def main():
- print("浏览器工具诊断测试")
- print("="*60)
- # 测试 headless=True
- result1 = await test_headless_true()
- # 等待一下,确保资源释放
- await asyncio.sleep(2)
- # 测试 headless=False
- result2 = await test_headless_false()
- # 总结
- print("\n" + "="*60)
- print("测试总结")
- print("="*60)
- print(f"headless=True: {'✅ 通过' if result1 else '❌ 失败'}")
- print(f"headless=False: {'✅ 通过' if result2 else '❌ 失败'}")
- print("="*60)
- if __name__ == "__main__":
- asyncio.run(main())
|