59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/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 "🎉 所有测试完成!"
|