diff --git a/scripts/e2e.sh b/scripts/e2e.sh index 8cdd6303..b5a6923a 100755 --- a/scripts/e2e.sh +++ b/scripts/e2e.sh @@ -124,9 +124,16 @@ stop_serve() { [ -n "${API_PID:-}" ] && { kill "$API_PID" 2>/dev/null || true; wait "$API_PID" 2>/dev/null || true; API_PID=""; } } login() { - curl -sf -c "$JAR" -X POST "$API_BASE/api/auth/login" \ - -H 'Content-Type: application/json' \ - -d "{\"owner\":\"$OWNER\",\"password\":\"$PASSWORD\"}" >/dev/null || die "login failed" + local i + for i in $(seq 1 20); do + if curl -sf -c "$JAR" -X POST "$API_BASE/api/auth/login" \ + -H 'Content-Type: application/json' \ + -d "{\"owner\":\"$OWNER\",\"password\":\"$PASSWORD\"}" >/dev/null; then + return 0 + fi + sleep 0.25 + done + die "login failed" } # CLI 建号留下 must_change_password。会话在改密前不能调用业务命令。 # 强制设密会作废当前会话,所以设密后用新密码再登录。