docs/testing/ai-automation/storage-key-consistency/test-002-legacy-data-import.md
验证应用能正确导入使用旧版本短键名的数据文件,并自动转换为新的完整键名格式。
创建名为 legacy-test-data.json 的文件,内容如下:
{
"version": 1,
"data": {
"userSettings": {
"theme-id": "dark",
"preferred-language": "en-US",
"builtin-template-language": "zh-CN",
"app:selected-optimize-model": "gemini",
"app:selected-test-model": "siliconflow",
"app:selected-optimize-template": "general-optimize",
"app:selected-iterate-template": "iterate"
},
"models": [
{
"key": "test-model",
"id": "test-model",
"name": "Test Model",
"enabled": true
}
],
"userTemplates": [
{
"id": "test-template",
"name": "Test Template",
"content": "Test content",
"isBuiltin": false,
"metadata": {
"templateType": "optimize",
"version": "1.0",
"lastModified": 1640995200000
}
}
],
"history": [
{
"id": "test-history",
"prompt": "Test prompt",
"timestamp": 1640995200000
}
]
}
}
// 1.1 打开数据管理
browser_click(element="数据管理按钮", ref="data-manager");
browser_wait_for(time=1);
browser_snapshot();
// 1.2 如果需要,可以先清空现有数据
// 这一步是可选的,取决于测试需求
// 2.1 选择导入功能
browser_click(element="导入数据区域", ref="import-area");
browser_wait_for(time=1);
// 2.2 上传测试文件
// 注意:这里需要实际的文件上传操作
// 具体实现取决于UI的文件上传方式
browser_file_upload(paths=["./legacy-test-data.json"]);
browser_wait_for(time=2);
// 2.3 确认导入
browser_click(element="确认导入按钮", ref="confirm-import");
browser_wait_for(time=3);
browser_snapshot();
// 3.1 检查导入成功提示
browser_snapshot();
// 3.2 关闭数据管理对话框
browser_press_key("Escape");
browser_wait_for(time=1);
// 3.3 验证设置是否生效
// 检查主题是否变为dark
// 检查语言是否变为en-US
browser_snapshot();
// 4.1 重新导出数据验证转换结果
browser_click(element="数据管理按钮", ref="data-manager");
browser_wait_for(time=1);
browser_click(element="导出数据按钮", ref="export-button");
browser_wait_for(time=3);
browser_snapshot();
theme-id → app:settings:ui:theme-idpreferred-language → app:settings:ui:preferred-languagebuiltin-template-language → app:settings:ui:builtin-template-language[记录相关的控制台输出,特别是键名转换信息]
[粘贴重新导出的JSON内容,验证键名格式]