#!/bin/bash # 截图上传功能测试脚本 set -e BASE_URL="http://localhost:8081" TEST_DIR="/tmp/crm-screenshot-test" echo "🧪 开始测试截图上传功能..." # 创建测试目录 mkdir -p "$TEST_DIR" cd "$TEST_DIR" # 生成测试图片(使用 ImageMagick 或创建简单的测试文件) echo "📸 生成测试图片..." # 创建一个简单的 1x1 像素的 PNG 图片(Base64 编码) echo "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" | base64 -d > test1.png # 创建一个简单的 JPG 图片 echo "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAv/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAX/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCwAA8A/9k=" | base64 -d > test2.jpg echo "✅ 测试图片已生成" # 测试上传 echo "" echo "📤 测试上传截图..." RESPONSE=$(curl -s -X POST "$BASE_URL/api/upload" \ -F "screenshots=@test1.png" \ -F "screenshots=@test2.jpg") echo "📥 服务器响应:" echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE" # 检查响应是否包含 Base64 数据 if echo "$RESPONSE" | grep -q "data:image"; then echo "" echo "✅ 测试通过!服务器返回了 Base64 编码的图片数据" # 提取第一个 Base64 字符串的长度 BASE64_LENGTH=$(echo "$RESPONSE" | grep -o 'data:image[^"]*' | head -1 | wc -c) echo "📊 Base64 数据长度: $BASE64_LENGTH 字符" else echo "" echo "❌ 测试失败!服务器未返回 Base64 数据" exit 1 fi # 清理 echo "" echo "🧹 清理测试文件..." cd /tmp rm -rf "$TEST_DIR" echo "" echo "🎉 所有测试完成!"