#!/usr/bin/env python3 """ 快速测试工具 - 最简单的使用方式 """ import sys sys.path.insert(0, ".") from tests.universal_tester import TestConfig, UniversalWebTester def quick_test(): """快速测试函数""" import argparse parser = argparse.ArgumentParser(description="快速 Web 测试") parser.add_argument("url", help="要测试的网站URL") parser.add_argument("--model", "-m", default="claude", choices=["claude", "openai", "glm", "mimo"], help="AI模型 (默认: claude)") parser.add_argument("--headless", action="store_true", help="无头模式运行") parser.add_argument("--max-clicks", type=int, default=50, help="最大点击次数 (默认: 50)") parser.add_argument("--login", action="store_true", help="是否需要登录") parser.add_argument("--username", help="登录用户名") parser.add_argument("--password", help="登录密码") args = parser.parse_args() # 创建配置 config = TestConfig( url=args.url, name=f"快速测试_{args.url}", mode="explore", model=args.model, headless=args.headless, explore_config={ "max_depth": 10, "max_clicks": args.max_clicks, "focus_patterns": [], "dangerous_patterns": ["删除", "delete", "退出", "exit", "注销", "logout", "sign out"] } ) # 添加登录配置 if args.login and args.username and args.password: config.login = { "username": args.username, "password": args.password } print(f"\n🚀 开始测试: {args.url}") print(f"📊 模式: 探索模式") print(f"🤖 AI模型: {args.model}") print(f"🖥️ 无头模式: {'是' if args.headless else '否'}") print(f"🖱️ 最大点击: {args.max_clicks}") print("="*50) # 运行测试 tester = UniversalWebTester(config) result = tester.run() # 输出结果 print("\n" + "="*50) print(f"✅ 测试完成!") print(f"📊 状态: {'通过' if result['status'] == 'passed' else '失败'}") if result['steps']: explore_step = result['steps'][0] if explore_step.get('action') == 'explore': explore_result = explore_step.get('result', {}) print(f"🖱️ 点击次数: {explore_result.get('click_count', 0)}") print(f"🔍 发现元素: {explore_result.get('discovered_elements', 0)}") print(f"🐛 发现问题: {explore_result.get('bugs_found', 0)}") if result['errors']: print("\n❌ 错误信息:") for error in result['errors']: print(f" • {error}") if __name__ == "__main__": quick_test()