Socks5Proxy

自動化テストプロキシで複数の国からウェブサイトとアプリをテストする

Socks5Proxyは自動化テストとQA用のプライベートデータセンタープロキシをIP単位で販売し(1IP月額開始価格: $0.4680)、Selenium、Playwright、PuppeteerとCIサーバーで複数の国IPで同じテストを繰り返し実行できるようにします。

テストにプロキシが必要な場合はいつですか?

サービスが複数の国で提供されている場合、国ごとに異なる動作をテストする必要があります。言語自動選択、通貨と価格表示、決済方法リスト、地域制限通知、クッキー同意画面など、接続場所によって変化する機能はその国のIPで接続しなければ確認できません。

負荷テストや接続制限機能テストのように、複数IPから同時にリクエストが必要な場合にもプロキシが必要です。自社サービスのリクエスト制限がIP基準で正しく機能しているか、特定国のブロックルールが適切に適用されているかを確認できます。

外部サービスと連携する機能、例えば地図、決済、広告スクリプトが国別に正しく読み込まれるかも同時にチェックできます。

テストにはどのプロキシが適していますか?

繰り返しテストにはプライベートデータセンタープロキシをお勧めします。IPがプラン期間中固定されているため、同じ条件で昨日と今日の結果を比較でき、帯域幅と同時接続が無制限なのでブラウザテストも気軽に実行できます。

家庭用インターネット利用者にのみ表示される動作、例えば詐欺防止システムがデータセンター接続を異なる方法で扱う場合をテストするには、プライベートISPプロキシを一緒に準備します。多くのIPから同時にリクエストを送る負荷テストには共有データセンタープロキシが経済的です。

テストおすすめ商品理由
国別画面・機能テストプライベートデータセンター固定出口IP、ボット、API
家庭用接続条件テストプライベートISPインターネット会社帯域IP
リクエスト制限・負荷テスト共有データセンター多くのIPを低単価で
長期回帰試験プライベートデータセンター年間同じIPを1年間維持

ブラウザ自動化ツールにはどのように接続しますか?

Playwrightはブラウザを開く際にproxy設定にサーバーアドレス、ユーザー名、パスワードを一緒に設定できるので最も簡単です。Puppeteerは--proxy-server引数でアドレスを設定し、page.authenticateでユーザー名とパスワードを渡します。

SeleniumとChromeの組み合わせはプロキシパスワードを直接受け取らないため、IP認証を使用すると便利です。ダッシュボードにテストサーバーのIPv4を登録すると、ユーザー名とパスワードなしでip:portのみで接続できます。各ツールの実際のコードはガイドページにまとめています。

  • Playwright: proxyにserver, username, password
  • Puppeteer: --proxy-server + page.authenticate
  • Selenium + Chrome: IP認証でip:portのみ使用
  • SOCKS5が必要な場合は各行のSOCKS5ポートを使用

CIサーバーではどのように運用しますか?

CIサーバーの送信IPが固定されている場合は、そのIPをIP認証に登録してください。パスワードをリポジトリや設定ファイルに保存しなくても済むため、管理が簡単です。IPが頻繁に変わる環境の場合は、ユーザー名とパスワードをシークレットストレージに保存し、テスト開始時に読み込むようにしてください。

テスト開始時にAPIで最新リストを取得し国別に分ければ、テストコードにIPを記述する必要がありません。GET /proxiesに国とプロトコル条件を指定し必要な行のみ取得できます。

テスト結果には使用したIPと国を残してください。特定の国やIPでのみ失敗が発生するかすぐにわかります。

結果を信頼できるものにするには何を合わせればよいですか?

IP国と一緒にブラウザ言語、タイムゾーン、画面サイズをテストシナリオごとに設定しておいてください。これらの値がテストごとに異なると、同じ機能でも結果が揺れます。

ネットワーク遅延が結果に影響するテストでは、テストサーバーに近い位置のIPを選ぶと良いです。プロキシ応答時間と自社サービスの応答時間を別々に記録すると、原因を切り分けられます。

テスト用プロキシの費用はどのくらいですか?

1IP月額開始価格はプライベートデータセンタープロキシ$0.4680、プライベートISPプロキシ$0.5850、米ドル基準です。テストする国ごとにIP数個で十分なため小さなプランから始められ、継続実行する回帰テストは年間支払いで30%節約できます。

国別テストシナリオはどのように作成しますか?

テスト対象国ごとに期待結果を表にまとめると自動化が容易です。例:米国IPではドル価格と英語画面、ドイツIPではユーロ価格とドイツ語画面、日本IPでは円価格と日本語画面が出ることを記載し、テストコードが国別プロキシでページを開き表と比較するようにします。

支払い方法リスト、配送可否案内、クッキー同意画面など、国によって表示・非表示が変わる要素も同じ表に入れてください。新機能をリリースする際に同じシナリオを実行すると、特定の国でのみ発生する問題をリリース前に発見できます。

画面比較テストを使用する場合、国別の基準画面を別々に設定し、同じIPで撮影した画面同士を比較すると、不要な差異が減ります。

  • 国別期待結果表作成
  • 支払い・配送・同意画面などの国別要素を含む
  • デプロイごとに同じシナリオ繰り返し

チームで一緒に使う際のプロキシ設定はどのように管理しますか?

テストコードにIPを直接記述せず、テスト開始時にAPIで国別リストを取得するようにしてください。プラン変更や国追加時にコード修正が不要です。APIキーはCIシークレットストアに保存し、開発者PCでは各自環境変数で設定すると安全です。

複数のチームが同じアカウントを使用する場合は、チームごとにプランを分けて購入し、リストが混ざらないようにしてください。テスト結果にプランと国が一緒に記録されると、どのチームのテストかもすぐにわかります。

プロキシ自体の状態確認ステップをテスト前に設定すると良いでしょう。テストを開始する前に各プロキシに簡単なリクエストを送信し、応答を確認すれば、テスト失敗がサービス問題か接続問題か切り分けられます。

テスト時の注意点は?

負荷テストと接続制限テストは、自身が運営するか許可を得たサービスのみで実施してください。他のサービスを対象とした負荷攻撃は禁止されており、アカウントが停止される可能性があります。

自動化テストプロキシ、国別QAとブラウザテスト | Socks5Proxy