Use Cases

在自有零售站点上对 CAPTCHA 进行 QA 测试

安全范围: 本指南仅适用于你自有或经授权的 QA、staging 与预发布环境。内容覆盖针对你自己 CAPTCHA 集成的诊断、测试与可观测性模式 — 不涉及第三方站点或未授权流程。

结论先说:验证码是 checkout 里会超时、会报错的外部依赖,应该进自动化回归,而不是上线前手工点一次。在 staging 铺一套合成 SKU,把“判类型 → 拿 token → 后端校验 → 模拟订单号”串成一条能反复跑的用例。

先划测试面:验证码挂在哪几步

环节 常见类型 断言什么
注册与登录 reCAPTCHA v2 widget 渲染是否正常
下单页 Cloudflare Turnstile token 过期后能否重试
促销活动页 图片/九宫格验证码 峰值排队与超时

境内站点的注册页更常见 GeeTest(极验)滑块;reCAPTCHA 依赖 Google 托管脚本,境内加载不稳,会让 staging 的失败率虚高。CaptchaAI 覆盖 reCAPTCHA v2/v3、Turnstile、GeeTest v3 与图片、九宫格,v4 仍是即将支持。

合成商品目录怎么铺

  • SKU 统一加 QA- 前缀,订单表里一眼可筛。
  • 价格与库存写死,避免用例因数据漂移变红。
  • 支付走沙箱,订单号只落 staging 库,不碰生产数据。

判类型、拿 token、断言后端

在响应里搜 data-sitekeyg-recaptchacf-turnstile,命中哪个走哪个提交方法;sitekey 从 staging 配置读,预发布和生产往往是两把 key。拿到 token 只完成一半:要断言的是后端返回的模拟订单号,覆盖有效、过期、为空三个分支。

最小 QA 调用示例

从环境变量读 key 与页面信息,提交后按 taskId 取结果,可包进 pytest 夹具:

import os
import requests

API_KEY = os.environ['CAPTCHAAI_KEY']
QA_PAGE_URL = os.environ['QA_PAGE_URL']  # 例如 https://staging.example.com/qa-login
QA_SITE_KEY = os.environ['QA_SITE_KEY']


def submit_qa_recaptcha() -> str:
    payload = {
        'clientKey': API_KEY,
        'task': {
            'type': 'NoCaptchaTaskProxyless',
            'websiteURL': QA_PAGE_URL,
            'websiteKey': QA_SITE_KEY,
        },
    }
    response = requests.post(
        'https://api.captchaai.com/createTask',
        json=payload,
        timeout=30,
    )
    response.raise_for_status()
    return response.json()['taskId']


def fetch_qa_result(task_id: str) -> dict:
    payload = {'clientKey': API_KEY, 'taskId': task_id}
    response = requests.post(
        'https://api.captchaai.com/getTaskResult',
        json=payload,
        timeout=30,
    )
    response.raise_for_status()
    return response.json()

轮询放在外层:每 3–5 秒调一次,设上限后抛超时,别写成无限循环。

日志与上线前清单

  • 每次运行落结构化日志:耗时、响应码、任务编号、队列深度。
  • 三套环境写独立通道,用 correlation id 串链路。
  • API Key 放 CI secret 或 vault,不进源码与日志。
  • 瞬时错误配幂等重试与上限,鉴权类错误直接失败。

常见故障与排查方向

现象 处理方式
找不到 widget staging 选择器或等待时机与生产不一致
返回 ERROR_NO_SLOT_AVAILABLE 线程跑满,指数退避并降并发
后端拒绝 token action / sitekey / secret 串了环境
本地过、CI 挂 检查 CI 出口 IP 与页面语言包

常见问题

staging 没有真实流量,结论可信吗?

集成正确性可信:渲染、取 token、后端校验、错误分支都与流量无关。速率表现不可信,真实峰值下的耗时要靠压测环境逼近。

大促前做并发回归,线程要开多少?

线程数对应同时在跑的任务数,不是用例总数。串行冒烟用 BASIC($15/月,5 线程)够;要复现下单峰值,一般从 ADVANCE($90/月,50 线程)起估。套餐按线程计费,线程内识别次数不另计。

站点用的是极验滑块,还适用吗?

适用,换掉的只是提交方法与参数。CaptchaAI 支持 GeeTest(极验)v3,v4 尚未开放,其余环节不用改。

相关阅读

CaptchaAI 在自有 staging 环境跑通这条链路。

该文章已禁用评论。