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.
Platform tiket milik sendiri perlu QA realistis untuk antrean dan checkout sebelum event diaktifkan. Panduan ini menunjukkan cara menguji integrasi CAPTCHA pada lingkungan staging Anda dengan event fiktif, kursi uji, dan pembayaran simulasi — tanpa pernah menyentuh penjualan publik atau platform pihak ketiga.
Lingkup aman
- Hanya platform tiket milik sendiri atau yang diberi otorisasi.
- Event fiktif, kursi uji, tiket fiktif, token pembayaran uji.
- Validasi antrean internal dan endpoint QA.
- Tidak ada antrean QA internal, tidak ada pembelian nyata.
- Tidak ada platform tiket pihak ketiga.
Model antrean internal untuk QA
Replikasi arsitektur antrean: pengguna QA masuk antrean fiktif di https://staging.example.com/ticketing/queue-test, menerima posisi, dan diteruskan ke checkout pada https://staging.example.com/ticketing/checkout-test saat slot tersedia.
Event, kursi, dan pembayaran fiktif
FAKE_EVENT = {
'id': 'evt_qa_001',
'url': 'https://staging.example.com/ticketing/fake-event',
'seats': [{'row': 'A', 'col': i, 'price_cents': 5000} for i in range(1, 21)],
}
FAKE_PAYMENT = {'token': 'qa_pm_token_demo'}
Mengirim tugas CaptchaAI dari staging
import os, requests, time
API_KEY = os.environ['CAPTCHAAI_API_KEY']
def solve_recaptcha_v2(sitekey, pageurl):
r = requests.post('https://ocr.captchaai.com/in.php', data={
'key': API_KEY, 'method': 'userrecaptcha',
'googlekey': sitekey, 'pageurl': pageurl, 'json': 1,
}).json()
tid = r['request']
while True:
time.sleep(5)
rr = requests.get('https://ocr.captchaai.com/res.php', params={
'key': API_KEY, 'action': 'get', 'id': tid, 'json': 1,
}).json()
if rr['status'] == 1:
return rr['request']
Memvalidasi hasil di backend QA
Kirim token ke endpoint pesanan tiket QA internal. Backend memverifikasi token CAPTCHA, mengunci kursi fiktif, dan mengembalikan ID pesanan tiruan. Tidak ada tiket nyata yang pernah diproses.
Logging dan keputusan pass/fail
Pengujian dianggap pass jika: token diterima backend, kursi fiktif terkunci, dan latensi end-to-end di bawah ambang internal Anda. Catat semua nilai per kasus_qa.
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.