Files
ai_wht_wechat/backend/test_cookie_file.py

163 lines
4.4 KiB
Python
Raw Normal View History

2025-12-19 22:36:48 +08:00
"""
测试 Cookie 文件路径支持
"""
import subprocess
import sys
import json
def test_cookie_file_param():
"""测试 --cookies 参数支持文件路径"""
print("="*60)
print("测试 Cookie 文件路径参数支持")
print("="*60)
print()
# 测试命令
cmd = [
sys.executable,
"xhs_publish.py",
"--cookies", "test_cookies.json", # 使用文件路径
"--title", "【测试】Cookie文件路径参数",
"--content", "测试使用 --cookies 参数传递文件路径,而不是 JSON 字符串",
"--images", '["https://picsum.photos/800/600","https://picsum.photos/800/600"]',
"--tags", '["测试","Cookie文件","自动化"]'
]
print("执行命令:")
print(" ".join(cmd))
print()
print("-"*60)
print()
# 执行命令
try:
result = subprocess.run(
cmd,
capture_output=True,
text=True,
encoding='utf-8'
)
# 输出结果
print("标准输出:")
print(result.stdout)
if result.stderr:
print("\n标准错误:")
print(result.stderr)
print()
print("-"*60)
# 解析结果
try:
# 尝试从输出中提取 JSON 结果
lines = result.stdout.strip().split('\n')
for i, line in enumerate(lines):
if line.strip().startswith('{'):
json_str = '\n'.join(lines[i:])
response = json.loads(json_str)
print("\n解析结果:")
print(json.dumps(response, ensure_ascii=False, indent=2))
if response.get('success'):
print("\n✅ 测试成功Cookie 文件路径参数工作正常")
if 'url' in response:
print(f"📎 笔记链接: {response['url']}")
else:
print(f"\n❌ 测试失败: {response.get('error')}")
break
except json.JSONDecodeError:
print("⚠️ 无法解析 JSON 输出")
return result.returncode == 0
except Exception as e:
print(f"❌ 执行失败: {str(e)}")
return False
def test_quick_publish():
"""测试 quick_publish.py 脚本"""
print("\n")
print("="*60)
print("测试 quick_publish.py 脚本")
print("="*60)
print()
cmd = [
sys.executable,
"quick_publish.py",
"【测试】快速发布脚本",
"测试 quick_publish.py 的简化调用方式",
"https://picsum.photos/800/600,https://picsum.photos/800/600",
"测试,快速发布,自动化",
"test_cookies.json"
]
print("执行命令:")
print(" ".join(cmd))
print()
print("-"*60)
print()
try:
result = subprocess.run(
cmd,
capture_output=True,
text=True,
encoding='utf-8'
)
print(result.stdout)
if result.stderr:
print("\n标准错误:")
print(result.stderr)
return result.returncode == 0
except Exception as e:
print(f"❌ 执行失败: {str(e)}")
return False
if __name__ == "__main__":
print()
print("🧪 Cookie 文件路径支持测试")
print()
# 检查 Cookie 文件是否存在
import os
if not os.path.exists('test_cookies.json'):
print("❌ 错误: test_cookies.json 文件不存在")
print("请先创建 Cookie 文件")
sys.exit(1)
print("✅ 找到 Cookie 文件: test_cookies.json")
print()
# 测试1: xhs_publish.py 使用文件路径
success1 = test_cookie_file_param()
# 测试2: quick_publish.py
success2 = test_quick_publish()
# 总结
print()
print("="*60)
print("测试总结")
print("="*60)
print(f"xhs_publish.py (Cookie文件): {'✅ 通过' if success1 else '❌ 失败'}")
print(f"quick_publish.py: {'✅ 通过' if success2 else '❌ 失败'}")
print()
if success1 and success2:
print("🎉 所有测试通过!")
else:
print("⚠️ 部分测试失败,请检查错误信息")