first commit
This commit is contained in:
162
backend/test_cookie_file.py
Normal file
162
backend/test_cookie_file.py
Normal file
@@ -0,0 +1,162 @@
|
||||
"""
|
||||
测试 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("⚠️ 部分测试失败,请检查错误信息")
|
||||
Reference in New Issue
Block a user