Use Cases

Menangani CAPTCHA dalam pipeline QA milik sendiri

Lingkup aman: Panduan ini berlaku hanya untuk lingkungan QA, staging, dan praproduksi milik sendiri atau yang Anda miliki otorisasinya. Materi membahas pola diagnostik, pengujian, dan observabilitas untuk integrasi CAPTCHA Anda sendiri — bukan untuk situs pihak ketiga atau alur tanpa otorisasi.

Panduan ini menjelaskan cara mengelola CAPTCHA selama pengujian otomatis di lingkungan QA Anda sendiri — bukan untuk mengekstrak data dari pihak ketiga.

Pola umum

Deteksi widget di staging Anda → kirim tugas ke CaptchaAI → tunggu token → validasi terhadap backend QA Anda.

Retry terkontrol

Gunakan backoff eksponensial dengan batas per kasus_qa. Catat setiap retry.

Trace

Tautkan setiap token ke kasus_qa yang mengonsumsinya, termasuk waktu submit dan validasi.

Pemecahan masalah

Gejala Tindakan yang disarankan
Tes tidak menemukan widget Periksa selector dan timing pada staging Anda
CaptchaAI mengembalikan ERROR_NO_SLOT_AVAILABLE Coba ulang dengan backoff pada pipeline internal
Backend QA menolak token Bandingkan action/sitekey dengan konfigurasi sebenarnya

Observabilitas

Catat log terstruktur untuk setiap eksekusi QA. Metrik yang dianjurkan: durasi total token, kode respons HTTP, ID tugas, dan kedalaman antrean. Pisahkan saluran log per lingkungan (development, staging, pra-produksi) dan korelasikan dengan distributed tracing (mis. OpenTelemetry) lewat correlation id. Kemampuan memutar ulang skenario penuh dari satu id biasanya memangkas waktu diagnosis insiden setidaknya separuh.

Checklist

  • Cakupan pengujian dibatasi pada aplikasi sendiri atau sumber daya yang Anda miliki otorisasinya.
  • Kunci CaptchaAI disimpan di secret manager CI atau vault, bukan di source code.
  • Setiap eksekusi mencatat latensi dan kode status respons.
  • Strategi retry idempoten dengan batas atas untuk error sementara.
  • Pengujian dapat direproduksi di pipeline CI.

Contoh pemanggilan QA

Contoh Python berikut menunjukkan alur minimum untuk memvalidasi widget CAPTCHA pada lingkungan staging milik Anda sendiri lewat CaptchaAI.

import os
import time
import requests

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


def submit_qa_recaptcha() -> str:
    payload = {
        'key': API_KEY,
        'method': 'userrecaptcha',
        'googlekey': QA_SITE_KEY,
        'pageurl': QA_PAGE_URL,
        'json': 1,
    }
    response = requests.post(
        'https://ocr.captchaai.com/in.php',
        data=payload,
        timeout=30,
    )
    response.raise_for_status()
    return response.json()['request']


def fetch_qa_result(task_id: str) -> dict:
    params = {
        'key': API_KEY,
        'action': 'get',
        'id': task_id,
        'json': 1,
    }
    while True:
        response = requests.get(
            'https://ocr.captchaai.com/res.php',
            params=params,
            timeout=30,
        )
        response.raise_for_status()
        data = response.json()
        if data.get('request') != 'CAPCHA_NOT_READY':
            return data
        time.sleep(5)

FAQ

Apakah alur ini menyentuh trafik produksi?

Tidak. Semua contoh mengasumsikan domain QA milik sendiri seperti staging.example.com. Replikasi konfigurasi CAPTCHA produksi di salinan staging Anda untuk validasi.

Boleh menulis API key di source code?

Tidak boleh. Suntikkan lewat secret manager CI, environment variable, atau vault. Key yang sudah ter-commit harus dirotasi segera.

Strategi apa yang disarankan untuk error sementara?

Retry idempoten dengan exponential backoff (mis. 1s, 2s, 4s) dan batas atas. Error jaringan, respons 5xx, dan ERROR_NO_SLOT_AVAILABLE layak di-retry; error otorisasi yang persisten tidak boleh di-retry.

Panduan terkait yang aman

  • Mulai cepat CaptchaAI
  • QA CAPTCHA terotorisasi
  • Pengujian endpoint CAPTCHA pada formulir sendiri
  • Debug saat tes browser gagal padahal API berfungsi
  • Menyelesaikan reCAPTCHA v2 dengan API
  • Menyelesaikan Cloudflare Turnstile dengan API
  • Menyelesaikan GeeTest v3 dengan API

Validasi integrasi CAPTCHA Anda di lingkungan sendiri dengan CaptchaAI.

Komentar dinonaktifkan untuk artikel ini.