Files
ai_wht_wechat/backend/test_cookie_file.py
2025-12-19 22:36:48 +08:00

163 lines
4.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
测试 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("⚠️ 部分测试失败,请检查错误信息")