Przeglądaj źródła

feat: e2e 测试上传后自动轮询任务进度直到完成

何文松 1 miesiąc temu
rodzic
commit
0bd5cfc457
1 zmienionych plików z 25 dodań i 26 usunięć
  1. 25 26
      test/test_upload_api.sh

+ 25 - 26
test/test_upload_api.sh

@@ -1507,12 +1507,12 @@ main() {
         
         e2e)
             # 完整端到端测试
-            # 注意:上传后会自动触发 RAG向量化、结构化解析、NER提取
+            # 上传后自动轮询任务进度直到完成
             check_test_file
             check_service
             register_test_user
             
-            print_header "步骤 1/3: 文件上传"
+            print_header "步骤 1/2: 文件上传"
             print_info "上传后将自动触发: RAG向量化 + 结构化解析 + NER提取"
             test_upload
             
@@ -1525,31 +1525,30 @@ main() {
                 exit 1
             fi
             
-            print_header "步骤 2/3: 等待解析完成"
-            if ! poll_parse_status "$DOCUMENT_ID" 60 3; then
-                print_error "解析未完成,终止测试"
-                exit 1
-            fi
-            
-            # 等待自动处理完成(RAG + 结构化解析 + NER)
-            # NER 可能需要较长时间(约4-5分钟),这里先等待一小段时间查看初始结果
-            print_header "步骤 3/3: 等待后台自动处理并查看结果"
-            print_info "后台正在自动执行: RAG向量化、结构化解析、NER提取"
-            print_info "NER 提取可能需要几分钟,可稍后使用 -g 查看 GraphNode 列表"
-            print_info "等待 10 秒后查看初始结果..."
-            sleep 10
-            
-            # 查看结构化解析结果(通常很快完成)
-            print_step "查看结构化解析结果"
-            test_get_images "$DOCUMENT_ID"
-            test_get_tables "$DOCUMENT_ID"
+            print_header "步骤 2/2: 轮询任务进度直到完成"
+            print_info "正在等待所有处理阶段完成..."
+            print_info "阶段: 文本解析 → RAG向量化 → 结构化解析 → NER实体提取 → 图构建"
+            print_info "NER 提取可能需要 5-10 分钟,请耐心等待..."
+            echo ""
             
-            # 查看 GraphNode(如果 NER 还未完成,可能为空)
-            print_step "查看 GraphNode 列表 (NER 结果)"
-            test_get_graph_nodes "$DOCUMENT_ID"
-            
-            print_info ""
-            print_info "提示: NER 提取需要几分钟,可稍后运行 '$0 -g' 查看完整结果"
+            # 轮询任务进度直到完成(最多等待15分钟)
+            if poll_task_progress "$DOCUMENT_ID" 300 3; then
+                echo ""
+                print_header "查看最终结果"
+                
+                # 查看结构化解析结果
+                print_step "结构化解析结果"
+                test_get_images "$DOCUMENT_ID"
+                test_get_tables "$DOCUMENT_ID"
+                
+                # 查看 GraphNode
+                print_step "NER 提取结果 (GraphNode)"
+                test_get_graph_nodes "$DOCUMENT_ID"
+            else
+                print_error "任务未在预期时间内完成"
+                print_info "可以稍后使用以下命令查看进度:"
+                print_info "  $0 --task --doc-id $DOCUMENT_ID"
+            fi
             ;;
     esac