import { request as apiRequests } from '@playwright/test';

const api = await apiRequests.newContext({
  proxy: { server: 'http://proxy.example:8080' }
});

try {
  const response = await api.get('https://example.com/');
} finally {
  await api.dispose();
}

スタンドアロンの APIRequestContext を作成するときに proxy を渡します。公開プロキシ経由で実行する場合は、HTTP プロキシ一覧から HTTP エンドポイントを選び、例のプロキシアドレスを置き換えます。意図した API URL は宛先としてそのままにします。このコンテキストは自身の接続設定を所有しており、使用後に破棄する必要があります。

ブラウザ起動設定は、独立して構築された API コンテキストを構成しません。Playwright Test の組み込み request フィクスチャは関連するテスト設定を読み取りますが、newContext() を呼び出すヘルパーは別の設定境界を作ります。ブラウザのナビゲーションは動くのにヘルパーがタイムアウトする場合は、その呼び出し箇所を見つけて、受け取っている options を確認してください。

ルーティングも宛先へのログインとは別です。プロキシの認証情報は中間者を認可します。Web サイトの認証情報と Cookie は対象を認可します。スタンドアロンのコンテキストは、ホスト名が一致するというだけでブラウザの Cookie を継承することはありません。ブラウザに関連付けられたリクエストコンテキストには、独自の文書化された Cookie 共有の動作があります。

ルートを選ぶときは証明書の検証を有効のままにします。ignoreHTTPSErrors が変えるのは検証であり、このコンテキストが使うプロキシではありません。

関連記事