APIRequest
Предоставляет API, который можно использовать для тестирования Web API. Этот класс используется для создания экземпляра [APIRequestContext], который, в свою очередь, может быть использован для отправки веб-запросов. Экземпляр этого класса можно получить через playwright.request. Для получения дополнительной информации смотрите [APIRequestContext].
Методы
newContext
Добавлено в: v1.16Создает новые экземпляры [APIRequestContext].
Использование
await apiRequest.newContext();
await apiRequest.newContext(options);
Аргументы
options
[Object] (необязательно)-
baseURL
[string] (необязательно)#Методы, такие как apiRequestContext.get(), учитывают базовый URL, используя конструктор
URL()
для построения соответствующего URL. Примеры:- baseURL:
http://localhost:3000
и отправка запроса на/bar.html
приводит кhttp://localhost:3000/bar.html
- baseURL:
http://localhost:3000/foo/
и отправка запроса на./bar.html
приводит кhttp://localhost:3000/foo/bar.html
- baseURL:
http://localhost:3000/foo
(без завершающего слэша) и навигация на./bar.html
приводит кhttp://localhost:3000/bar.html
- baseURL:
-
clientCertificates
[Array]<[Object]> (необязательно) Добавлено в: 1.46#-
origin
[string]Точный источник, для которого сертификат действителен. Источник включает протокол
https
, имя хоста и, при необходимости, порт. -
certPath
[string] (необязательно)Путь к файлу с сертификатом в формате PEM.
-
cert
[Buffer] (необязательно)Прямое значение сертификата в формате PEM.
-
keyPath
[string] (необязательно)Путь к файлу с закрытым ключом в формате PEM.
-
key
[Buffer] (необязательно)Прямое значение закрытого ключа в формате PEM.
-
pfxPath
[string] (необязательно)Путь к PFX или PKCS12 закодированному закрытому ключу и цепочке сертификатов.
-
pfx
[Buffer] (необязательно)Прямое значение PFX или PKCS12 закодированного закрытого ключа и цепочки сертификатов.
-
passphrase
[string] (необязательно)Пароль для закрытого ключа (PEM или PFX).
TLS аутентификация клиента позволяет серверу запрашивать клиентский сертификат и проверять его.
Подробности
Массив клиентских сертификатов, которые будут использоваться. Каждый объект сертификата должен иметь либо оба
certPath
иkeyPath
, либо одинpfxPath
, либо их соответствующие прямые значения (cert
иkey
, илиpfx
). Опционально, свойствоpassphrase
должно быть предоставлено, если сертификат зашифрован. Свойствоorigin
должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.noteПри использовании WebKit на macOS доступ к
localhost
не будет использовать клиентские сертификаты. Вы можете заставить это работать, заменивlocalhost
наlocal.playwright
. -
-
extraHTTPHeaders
[Object]<[string], [string]> (необязательно)#Объект, содержащий дополнительные HTTP заголовки, которые будут отправлены с каждым запросом. По умолчанию отсутствуют.
-
failOnStatusCode
[boolean] (необязательно) Добавлено в: v1.51#Указывает, следует ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.
-
httpCredentials
[Object] (необязательно)#-
username
[string] -
password
[string] -
origin
[string] (необязательно)Ограничивает отправку http учетных данных на конкретный источник (scheme://host:port).
-
send
"unauthorized" | "always" (необязательно)Эта опция применяется только к запросам, отправленным из соответствующего [APIRequestContext], и не влияет на запросы, отправленные из браузера.
'always'
- заголовокAuthorization
с учетными данными базовой аутентификации будет отправлен с каждым API запросом.'unauthorized
- учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate
. По умолчанию'unauthorized'
.
Учетные данные для HTTP аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любые серверы при несанкционированных ответах.
-
-
ignoreHTTPSErrors
[boolean] (необязательно)#Указывает, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false
. -
proxy
[Object] (необязательно)#-
server
[string]Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128
илиsocks5://myproxy.com:3128
. Короткая формаmyproxy.com:3128
считается HTTP прокси. -
bypass
[string] (необязательно)Необязательные домены, разделенные запятыми, для обхода прокси, например
".com, chromium.org, .domain.com"
. -
username
[string] (необязательно)Необязательное имя пользователя для использования, если HTTP прокси требует аутентификации.
-
password
[string] (необязательно)Необязательный пароль для использования, если HTTP прокси требует аутентификации.
Настройки сетевого прокси.
-
-
storageState
[string] | [Object] (необязательно)#cookies
[Array]<[Object]>-
name
[string] -
value
[string] -
domain
[string] -
path
[string] -
expires
[number]Время Unix в секундах.
-
httpOnly
[boolean] -
secure
[boolean] -
sameSite
"Strict" | "Lax" | "None"
-
origins
[Array]<[Object]>-
origin
[string] -
localStorage
[Array]<[Object]>-
name
[string] -
value
[string]
-
-
Заполняет контекст заданным состоянием хранения. Эта опция может быть использована для инициализации контекста с информацией о входе, полученной через browserContext.storageState() или apiRequestContext.storageState(). Либо путь к файлу с сохраненным состоянием, либо значение, возвращаемое одним из методов browserContext.storageState() или apiRequestContext.storageState().
-
timeout
[number] (необязательно)#Максимальное время в миллисекундах для ожидания ответа. По умолчанию
30000
(30 секунд). Передайте0
, чтобы отключить тайм-аут. -
userAgent
[string] (необязательно)#Специфический пользовательский агент для использования в этом контексте.
-
Возвращает
- [Promise]<[APIRequestContext]>#