Use Cases

Pengujian CAPTCHA untuk checkout e-commerce berpermintaan tinggi

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.

Tim QA sering perlu memvalidasi alur checkout e-commerce milik sendiri di bawah beban realistis. Panduan ini menunjukkan cara menguji integrasi CAPTCHA pada checkout staging Anda dengan CaptchaAI, tanpa pernah menyentuh toko pihak ketiga atau pembayaran nyata.

Lingkup aman

  • Hanya QA e-commerce milik sendiri atau yang diberi otorisasi.
  • Pengujian integrasi alur checkout di staging.
  • Smoke test CAPTCHA pada formulir checkout sendiri.
  • Inventaris fiktif, produk fiktif, token pembayaran uji.
  • Pengujian kontinuitas sesi pada endpoint internal.
  • Tidak ada pembelian nyata, tidak ada toko pihak ketiga.

Arsitektur QA checkout di staging

Salin arsitektur produksi sebanyak mungkin: pasang front-end checkout dan back-end pesanan di https://staging.example.com/checkout-test. Gunakan replika basis data terpisah dengan SKU fiktif, dan konfigurasikan gateway pembayaran dalam mode sandbox.

Menyiapkan inventaris dan pembayaran fiktif

FAKE_PRODUCTS = [
    {'sku': 'QA-SKU-001', 'price_cents': 9900, 'stock': 1000},
    {'sku': 'QA-SKU-002', 'price_cents': 19900, 'stock': 500},
]

FAKE_PAYMENT_TOKEN = 'qa_pm_token_demo'
STAGING_CHECKOUT = 'https://staging.example.com/checkout-test'

Mengirim tugas CaptchaAI dari pengujian internal

import os, time, requests

API_KEY = os.environ['CAPTCHAAI_API_KEY']
SITEKEY = os.environ['QA_TURNSTILE_SITEKEY']

def solve_turnstile():
    r = requests.post('https://ocr.captchaai.com/in.php', data={
        'key': API_KEY,
        'method': 'turnstile',
        'sitekey': SITEKEY,
        'pageurl': STAGING_CHECKOUT,
        'json': 1,
    }).json()
    task_id = r['request']
    while True:
        time.sleep(5)
        rr = requests.get('https://ocr.captchaai.com/res.php', params={
            'key': API_KEY, 'action': 'get', 'id': task_id, 'json': 1,
        }).json()
        if rr['status'] == 1:
            return rr['request']

Memvalidasi token di endpoint QA milik sendiri

Kirim token Turnstile yang dihasilkan ke endpoint pesanan internal Anda di https://staging.example.com/qa-checkout dengan cf-turnstile-response pada body. Endpoint QA memvalidasi token, mengonfirmasi SKU fiktif, dan mengembalikan ID pesanan tiruan.

Logging dan metrik QA

Catat per kasus_qa: waktu solve, kode hasil backend, latensi end-to-end, dan jumlah retry. Agregasi P50, P95, dan tingkat keberhasilan dari pipeline pengujian Anda sendiri — nilai bersifat indikatif untuk staging Anda.

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

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.