test_browser_use.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. """
  2. 最简单的 browser-use 测试
  3. 用于验证 browser-use 库本身是否能正常工作
  4. """
  5. from browser_use import BrowserSession
  6. import asyncio
  7. async def test_simple():
  8. """最简单的测试:只启动和停止浏览器"""
  9. print("🧪 测试 1: 最简单的浏览器启动")
  10. print("="*60)
  11. try:
  12. # 最简单的配置
  13. session = BrowserSession(headless=False)
  14. print("✅ BrowserSession 创建成功")
  15. print("⏳ 正在启动浏览器...")
  16. await session.start()
  17. print("✅ 浏览器启动成功!")
  18. print("⏳ 等待 3 秒...")
  19. await asyncio.sleep(3)
  20. print("⏳ 正在停止浏览器...")
  21. await session.stop()
  22. print("✅ 浏览器停止成功!")
  23. print("\n" + "="*60)
  24. print("🎉 测试通过!browser-use 工作正常")
  25. print("="*60)
  26. except Exception as e:
  27. print(f"\n❌ 测试失败: {str(e)}")
  28. import traceback
  29. traceback.print_exc()
  30. print("\n" + "="*60)
  31. print("⚠️ browser-use 库存在问题")
  32. print("="*60)
  33. async def test_with_user_data_dir():
  34. """测试 2: 使用 user_data_dir"""
  35. print("\n🧪 测试 2: 使用 user_data_dir")
  36. print("="*60)
  37. try:
  38. from pathlib import Path
  39. user_data_dir = str(Path.home() / ".browser_use" / "test_profile")
  40. Path(user_data_dir).mkdir(parents=True, exist_ok=True)
  41. session = BrowserSession(
  42. headless=False,
  43. user_data_dir=user_data_dir
  44. )
  45. print("✅ BrowserSession 创建成功(with user_data_dir)")
  46. print("⏳ 正在启动浏览器...")
  47. await session.start()
  48. print("✅ 浏览器启动成功!")
  49. print("⏳ 等待 3 秒...")
  50. await asyncio.sleep(3)
  51. print("⏳ 正在停止浏览器...")
  52. await session.stop()
  53. print("✅ 浏览器停止成功!")
  54. print("\n" + "="*60)
  55. print("🎉 测试通过!user_data_dir 工作正常")
  56. print("="*60)
  57. except Exception as e:
  58. print(f"\n❌ 测试失败: {str(e)}")
  59. import traceback
  60. traceback.print_exc()
  61. print("\n" + "="*60)
  62. print("⚠️ user_data_dir 配置存在问题")
  63. print("="*60)
  64. async def main():
  65. """运行所有测试"""
  66. print("\n" + "="*60)
  67. print("🚀 开始测试 browser-use 库")
  68. print("="*60 + "\n")
  69. # 测试 1: 最简单的配置
  70. await test_simple()
  71. # 等待一下
  72. await asyncio.sleep(2)
  73. # 测试 2: 使用 user_data_dir
  74. await test_with_user_data_dir()
  75. print("\n" + "="*60)
  76. print("✅ 所有测试完成")
  77. print("="*60)
  78. if __name__ == "__main__":
  79. asyncio.run(main())