• 陈泽健's avatar
    feat(performance): 混合场景 mix 每虚拟用户独立登录(CSV账号各自token + 登录重登替换) · 59948f7c
    陈泽健 提交于
    - 后端 HttpClient 新增 login_with_credentials(username,password) 与 _extract_token 静态方法
      - 复用 captcha uuid + SHA256 加密 + 签名;不写入 _tokens 缓存(token 由 executor 管理)
    - 执行引擎 per-VU 状态:_vu_tokens Dict[int,str] + _vu_tokens_lock + _vu_login_failed
      - _ensure_vu_token 异步幂等(run_in_executor 包裹同步登录),失败记入 _vu_login_failed
      - _resolve_csv_credentials 按 global_thread_idx 分配 CSV 行(idx % len 循环复用)
      - _mix_worker 启动各自登录;登录接口进随机池命中后替换该 VU 自己的 token
      - _send_request 新增 bearer_token 可选参 + 返回 Optional[str](登录 2xx 提取新 token)
      - _build_headers bearer_token 优先于 self._token;登录目标 bearer_token="" 签名且无 Authorization
      - _is_login_target 支持 url_override(识别随机池中的登录接口)
      - _run_mix 校验:CSV 未启用/缺 username/password 列/账号数 < 并发数 → 拒绝执行
      - execute() per_vu_login 时跳过共享预登录
    - Model/Schema 增加 per_vu_login 字段(默认 False)+ _ensure_columns 自动迁移
    - 前端 types perVuLogin + TaskList.vue「每虚拟用户独立登录」开关(仅 mix 显示)
    - 单测 TestPerVuLogin 13 条(各自token/重登替换/失败处理/CSV校验/共享回归)
    - 已部署 5.60(含 performance_tasks.per_vu_login 自动迁移);端到端由用户手动验证
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    59948f7c
名称
最后提交
最后更新
..
__init__.py Loading commit data...
api_test_executor.py Loading commit data...
auth_helper.py Loading commit data...
deploy_executor.py Loading commit data...
http_client.py Loading commit data...
performance_executor.py Loading commit data...
playwright_executor.py Loading commit data...
resource_monitor.py Loading commit data...
security_executor.py Loading commit data...
target_resource_monitor.py Loading commit data...
template_resolver.py Loading commit data...
ui_context.py Loading commit data...