Files
ai-web-tester/tests/quick_test.py
empty 1f1cc4db9a
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
feat: 增强测试框架功能
主要改进:
- 新增统一测试器 (universal_tester.py) 支持多种测试模式
- 优化测试报告生成器,支持汇总报告和操作截图
- 增强探索器 DFS 算法和状态指纹识别
- 新增智能测试配置 (smart_test.yaml)
- 改进 AI 模型集成 (GLM/Gemini 支持)
- 添加开发调试工具和文档
2026-01-05 20:23:02 +08:00

86 lines
2.8 KiB
Python

#!/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()