Tutorials

Cache token CAPTCHA và tái sử dụng có kiểm soát trong QA

Phạm vi an toàn: Hướng dẫn này chỉ áp dụng cho môi trường QA, staging hoặc pre-production thuộc sở hữu hoặc được uỷ quyền của bạn. Nội dung bao gồm các mẫu chẩn đoán, kiểm thử và quan sát cho tích hợp CAPTCHA của chính bạn — không áp dụng cho bên thứ ba hoặc luồng không được phép.

Cache token trong khoảng hợp lệ chính thức (ví dụ 120 giây cho reCAPTCHA v2) giúp giảm cuộc gọi không cần thiết trong các kiểm thử QA của bạn.

Khoá cache

Khoá theo (sitekey, pageurl, qa_case).

Hết hạn

Đặt TTL bằng khoảng hợp lệ chính thức của loại CAPTCHA.

Tích hợp CaptchaAI

Trước khi gửi in.php mới, kiểm tra cache; nếu hết hạn thì gửi lại.

Khắc phục sự cố

Vấn đề Nguyên nhân thường gặp Cách xử lý
Test không tìm thấy widget Thay đổi selector hoặc thời điểm load Kiểm tra selector và wait_for_selector trên staging
CaptchaAI trả ERROR_NO_SLOT_AVAILABLE Hàng đợi đầy tạm thời Thử lại với backoff trong pipeline nội bộ
Backend QA từ chối token Sai action/sitekey/secret Đối chiếu cấu hình backend với staging

Khả năng quan sát

Hãy ghi nhật ký có cấu trúc cho mỗi lần chạy QA. Các chỉ số nên thu thập bao gồm: tổng thời gian lấy token, mã trạng thái HTTP, ID tác vụ và độ sâu hàng đợi. Tách các môi trường (development, staging, pre-production) thành các kênh riêng biệt và liên kết các bước thông qua một correlation id (ví dụ với OpenTelemetry). Khả năng phát lại toàn bộ kịch bản từ một id duy nhất sẽ cắt giảm thời gian chẩn đoán sự cố ít nhất một nửa.

Danh mục kiểm tra

  • Phạm vi kiểm thử chỉ giới hạn trong ứng dụng của bạn hoặc tài nguyên đã được uỷ quyền.
  • Khoá CaptchaAI nằm trong CI secret hoặc vault, không nằm trong mã nguồn.
  • Mỗi lần chạy có thời gian gọi và mã trạng thái phản hồi được ghi lại.
  • Có chính sách thử lại idempotent với giới hạn cho lỗi tạm thời.
  • Bài kiểm thử có thể tái lập trên CI mà không cần can thiệp thủ công.

Ví dụ gọi QA

Đoạn mã Python dưới đây minh hoạ luồng tối thiểu để kiểm thử một CAPTCHA widget trên môi trường staging của bạn thông qua CaptchaAI.

import os
import requests

API_KEY = os.environ['CAPTCHAAI_KEY']
QA_PAGE_URL = os.environ['QA_PAGE_URL']  # ví dụ 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()

Câu hỏi thường gặp

Quy trình này có chạm vào lưu lượng production không?

Không. Mọi ví dụ giả định một môi trường được uỷ quyền như staging.example.com hoặc một domain QA do bạn sở hữu. Hãy tái tạo cấu hình CAPTCHA của production trong bản sao staging của riêng bạn.

Có thể đặt API key trực tiếp trong mã không?

Không. Hãy nạp khoá thông qua trình quản lý secret của CI, biến môi trường hoặc vault. Khoá đã bị commit vào kho mã phải được xoay vòng ngay lập tức.

Bạn khuyến nghị gì cho lỗi tạm thời?

Thử lại idempotent kèm exponential backoff (ví dụ 1s, 2s, 4s) và một giới hạn trên. Lỗi mạng, mã 5xx và ERROR_NO_SLOT_AVAILABLE đều phù hợp để thử lại; lỗi xác thực kéo dài thì không nên.

Hướng dẫn liên quan an toàn

Xác thực tích hợp CAPTCHA của bạn trong môi trường nội bộ với CaptchaAI.

Os comentários estão desativados para este artigo.

Postagens relacionadas

Reference Tính bền vững phiên trình duyệt cho luồng QA CAPTCHA của bạn
Duy trì phiên trình duyệt qua nhiều bước trong kiểm thử QA CAPTCHA trên staging của bạn để giảm gián đoạn và tăng độ tái lập.

Duy trì phiên trình duyệt qua nhiều bước trong kiểm thử QA CAPTCHA trên staging của bạn để giảm gián đoạn và t...

Apr 30, 2026
Use Cases Kiểm thử CAPTCHA cho checkout e-commerce có nhu cầu cao
Hướng dẫn QA để xác thực tích hợp CAPTCHA trong luồng checkout e-commerce thuộc sở hữu của bạn trên môi trường staging, với tồn kho giả lập, token thanh toán th...

Hướng dẫn QA để xác thực tích hợp CAPTCHA trong luồng checkout e-commerce thuộc sở hữu của bạn trên môi trường...

May 05, 2026
Integrations Tách biệt hồ sơ trình duyệt cho QA với CaptchaAI
Tách cookie, storage, tài khoản kiểm thử và cấu hình CAPTCHA theo từng hồ sơ trình duyệt để giữ cho kiểm thử QA trong staging sạch và có thể tái lập.

Tách cookie, storage, tài khoản kiểm thử và cấu hình CAPTCHA theo từng hồ sơ trình duyệt để giữ cho kiểm thử Q...

Apr 29, 2026