Ứng dụng · Kiểm thử
Proxy cho kiểm thử theo vùng
Nhiều lỗi chỉ xuất hiện với người dùng ở một vị trí nhất định: nội dung bị chặn theo vùng, tiền tệ sai, CDN trả bản cũ, cổng thanh toán từ chối thẻ nội địa. Kiểm thử qua proxy cho đội QA và developer thấy đúng trải nghiệm đó ngay từ máy của mình hoặc từ CI. Trang này gợi ý cách tổ chức session cho kiểm thử, ví dụ với Playwright và cURL, và các lưu ý khi đưa vào pipeline.
Những gì nên kiểm tra theo vùng
Nội dung, ngôn ngữ và tiền tệ
Trang có hiện đúng ngôn ngữ, đơn vị tiền và giá cho người dùng ở nước đó không.
Chuyển hướng theo vị trí
Khách có bị đưa sang sai phiên bản website, hoặc bị chặn nhầm vì vị trí không.
CDN và tốc độ tải
Nút CDN gần người dùng có trả bản mới nhất và đủ nhanh không.
Thanh toán và API
Cổng thanh toán, phương thức nội địa và API có hoạt động đúng với IP của vùng đó không.
Chạy thử với Playwright và cURL
Đặt thêm locale và múi giờ cho trình duyệt để trang nhận đủ tín hiệu vị trí, không chỉ IP.
import { chromium } from "playwright"
const browser = await chromium.launch()
const context = await browser.newContext({
proxy: { server: "http://GATEWAY_HOST:HTTP_PORT", username: "USERNAME", password: "PASSWORD" },
locale: "vi-VN",
timezoneId: "Asia/Ho_Chi_Minh",
})
const page = await context.newPage()
await page.goto("https://your-site.example/")
await page.screenshot({ path: "trang-chu-vn.png", fullPage: true })
await browser.close()Tổ chức session cho kiểm thử
Một session cho mỗi vùng
Đặt quốc gia cho từng session (gói Pro hoặc Business). Nước có ít IP thì chọn khu vực chứa nước đó.
Giữ IP trong một kịch bản
Đăng nhập, giỏ hàng và thanh toán cần IP ổn định suốt kịch bản: dùng session giữ IP.
Không để credential trong code
Trong CI, lưu thông tin session và API key ở secret rồi đọc qua biến môi trường.
Câu hỏi thường gặp
Kiểm thử theo vùng bằng proxy khác gì dùng VPN?
VPN đổi IP cho cả máy; proxy chỉ áp dụng cho trình duyệt hoặc script bạn cấu hình, nên chạy song song nhiều vùng được và dễ đưa vào CI.
Có chạy được trong GitHub Actions không?
Có. Lưu thông tin session và API key trong secret của repository, truyền vào script qua biến môi trường, không ghi thẳng vào code.
Quốc gia cần kiểm tra đang ít IP thì sao?
Chọn khu vực chứa nước đó, ví dụ Châu Á, hoặc thử lại sau: lượng IP theo từng nước thay đổi theo thời điểm.