Skip to main content
Glama
test_video_publish.py4.56 kB
#!/usr/bin/env python3 """ 视频发布功能测试脚本 """ import asyncio import os import sys from pathlib import Path # 添加项目根目录到Python路径 project_root = Path(__file__).parent sys.path.insert(0, str(project_root / "src")) from xiaohongshu_mcp_python.main import xiaohongshu_publish_video async def test_video_publish(): """测试视频发布功能""" # 测试参数 test_title = "测试视频发布" test_content = "这是一个测试视频内容,用于验证MCP视频发布接口的功能。" test_video_path = "/path/to/test/video.mp4" # 请替换为实际的视频文件路径 test_tags = ["测试", "视频", "MCP"] test_username = "test_user" print("开始测试视频发布功能...") print(f"标题: {test_title}") print(f"内容: {test_content}") print(f"视频路径: {test_video_path}") print(f"标签: {test_tags}") print(f"用户名: {test_username}") print("-" * 50) try: # 调用视频发布接口 result = await xiaohongshu_publish_video( title=test_title, content=test_content, video=test_video_path, tags=test_tags, username=test_username ) print("发布结果:") print(f"成功: {result.get('success', False)}") print(f"消息: {result.get('message', 'N/A')}") if result.get('success'): print("✅ 视频发布测试成功!") if 'result' in result: print(f"发布详情: {result['result']}") else: print("❌ 视频发布测试失败!") if 'error' in result: print(f"错误信息: {result['error']}") except Exception as e: print(f"❌ 测试过程中发生异常: {e}") import traceback traceback.print_exc() def test_video_publish_parameters(): """测试视频发布参数验证""" print("\n" + "=" * 50) print("测试参数验证...") # 测试用例 test_cases = [ { "name": "正常参数", "params": { "title": "正常标题", "content": "正常内容", "video": "/path/to/video.mp4", "tags": ["标签1", "标签2"] }, "expected": "应该通过参数验证" }, { "name": "空标题", "params": { "title": "", "content": "正常内容", "video": "/path/to/video.mp4", "tags": ["标签1"] }, "expected": "应该失败 - 标题为空" }, { "name": "标题过长", "params": { "title": "这是一个非常长的标题" * 10, "content": "正常内容", "video": "/path/to/video.mp4", "tags": ["标签1"] }, "expected": "应该失败 - 标题过长" }, { "name": "视频路径为空", "params": { "title": "正常标题", "content": "正常内容", "video": "", "tags": ["标签1"] }, "expected": "应该失败 - 视频路径为空" } ] for i, case in enumerate(test_cases, 1): print(f"\n测试用例 {i}: {case['name']}") print(f"参数: {case['params']}") print(f"预期: {case['expected']}") # 这里可以添加实际的参数验证逻辑 # 由于需要实际的浏览器环境,这里只是展示测试结构 print("✓ 参数验证测试结构正确") if __name__ == "__main__": print("小红书视频发布MCP接口测试") print("=" * 50) # 检查是否在正确的环境中运行 if not os.path.exists("src/xiaohongshu_mcp_python"): print("❌ 请在项目根目录下运行此测试脚本") sys.exit(1) # 运行参数验证测试 test_video_publish_parameters() print("\n" + "=" * 50) print("注意事项:") print("1. 实际测试需要配置有效的视频文件路径") print("2. 需要先登录小红书账号") print("3. 需要启动浏览器环境") print("4. 建议在开发环境中进行测试") # 如果需要运行实际的异步测试,取消下面的注释 # print("\n运行实际视频发布测试...") # asyncio.run(test_video_publish())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/luyike221/xiaohongshu-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server