Spec-Zone.ru › Playwright

APIRequestContext

Этот API используется для тестирования Web API. С его помощью можно вызывать конечные точки API, настраивать микросервисы, подготавливать окружение или сервис для сквозного теста.

Каждый контекст браузера Playwright связан с APIRequestContext, доступным через browserContext.request или page.request (они возвращают

один и тот же экземпляр — page.request — это сокращение для page.context().request). Также можно создать автономный изолированный экземпляр с помощью apiRequest.newContext().

Управление cookie

APIRequestContext, возвращаемый методами browserContext.request и

page.request, использует то же хранилище cookie, что и его BrowserContext:

Если нужны API-запросы, которые не используют общие с браузером cookie, создайте изолированный контекст с помощью apiRequest.newContext(). У такого объекта APIRequestContext будет собственное изолированное хранилище cookie.

Методы​

delete​

Отправляет HTTP(S)-запрос DELETE и возвращает ответ. Метод добавляет в запрос cookie из контекста и обновляет cookie контекста на основании ответа. Метод автоматически следует перенаправлениям.

Использование

await apiRequestContext.delete(url);
await apiRequestContext.delete(url, options);

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data — объект, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Определяет, нужно ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Предоставляет объект, который будет сериализован как HTML-форма с кодировкой application/x-www-form-urlencoded и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применены как к выполняемому запросу, так и ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Определяет, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию — false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, за которыми будет выполнен автоматический переход. Если это число будет превышено, возникнет ошибка. По умолчанию — 20. Передайте 0, чтобы не переходить по перенаправлениям.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторяется только при ошибке ECONNRESET. Повторные попытки не выполняются на основании кодов HTTP-ответа. Если лимит будет превышен, возникнет ошибка. По умолчанию — 0 (без повторных попыток).

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Предоставляет объект, который будет сериализован как HTML-форма с кодировкой multipart/form-data и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Значения файлов можно передавать либо как fs.ReadStream, либо как объект, подобный файлу, содержащий имя файла, MIME-тип и его содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут переданы вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал будет прерван, операция будет отменена и возникнет ошибка. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(); передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию — 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

dispose​

Все ответы, возвращаемые apiRequestContext.get() и аналогичными методами, хранятся в памяти, чтобы позднее можно было вызвать apiResponse.body(). Этот метод освобождает все ресурсы; вызов любого метода у освобождённого APIRequestContext приведёт к исключению.

Использование

await apiRequestContext.dispose();
await apiRequestContext.dispose(options);

Аргументы

  • options Object (необязательно)
    • reason string (необязательно)

      Причина, которая будет указана для операций, прерванных при освобождении контекста.

Возвращает

  • Promise<void>

fetch​

Отправляет HTTP(S)-запрос и возвращает ответ. Метод добавляет в запрос cookie из контекста и обновляет cookie контекста на основании ответа. Метод автоматически следует перенаправлениям.

Использование

Объекты JSON можно передавать непосредственно в запрос:

await request.fetch('https://example.com/api/createBook', {
  method: 'post',
  data: {
    title: 'Book Title',
    author: 'John Doe',
  }
});

Обычно файлы передают в теле запроса, загружая их в виде полей формы с кодировкой multipart/form-data и указывая параметр multipart:

const form = new FormData();
form.set('name', 'John');
form.append('name', 'Doe');
// Send two file fields with the same name.
form.append('file', new File(['console.log(2024);'], 'f1.js', { type: 'text/javascript' }));
form.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
await request.fetch('https://example.com/api/uploadForm', {
  multipart: form
});

Аргументы

  • urlOrRequest string | Request

    Целевой URL или Request, из которого будут взяты все параметры.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data — объект, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Определяет, нужно ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Предоставляет объект, который будет сериализован как HTML-форма с кодировкой application/x-www-form-urlencoded и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применены как к выполняемому запросу, так и ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Определяет, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию — false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, за которыми будет выполнен автоматический переход. Если это число будет превышено, возникнет ошибка. По умолчанию — 20. Передайте 0, чтобы не переходить по перенаправлениям.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторяется только при ошибке ECONNRESET. Повторные попытки не выполняются на основании кодов HTTP-ответа. Если лимит будет превышен, возникнет ошибка. По умолчанию — 0 (без повторных попыток).

    • method string (необязательно)

      Если задано, изменяет метод fetch (например, на PUT или POST). Если параметр не задан, используется метод GET.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Предоставляет объект, который будет сериализован как HTML-форма с кодировкой multipart/form-data и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Значения файлов можно передавать либо как fs.ReadStream, либо как объект, подобный файлу, содержащий имя файла, MIME-тип и его содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут переданы вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал будет прерван, операция будет отменена и возникнет ошибка. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(); передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию — 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

get​

Отправляет HTTP(S)-запрос GET и возвращает ответ. Метод добавляет в запрос cookie из контекста и обновляет cookie контекста на основании ответа. Метод автоматически следует перенаправлениям.

Использование

Параметры запроса можно настроить с помощью параметра params; они будут сериализованы в параметры поиска URL:

// Passing params as object
await request.get('https://example.com/api/getText', {
  params: {
    'isbn': '1234',
    'page': 23,
  }
});

// Passing params as URLSearchParams
const searchParams = new URLSearchParams();
searchParams.set('isbn', '1234');
searchParams.append('page', 23);
searchParams.append('page', 24);
await request.get('https://example.com/api/getText', { params: searchParams });

// Passing params as string
const queryString = 'isbn=1234&page=23&page=24';
await request.get('https://example.com/api/getText', { params: queryString });

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data является объектом, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Следует ли генерировать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки application/x-www-form-urlencoded и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применяться к выполняемому запросу, а также ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, которые будут выполнены автоматически. Если это количество будет превышено, возникнет ошибка. По умолчанию 20. Передайте 0, чтобы не выполнять перенаправления.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторная попытка выполняется только при ошибке ECONNRESET. Повторные попытки не выполняются на основании кодов HTTP-ответа. Если лимит будет превышен, возникнет ошибка. По умолчанию 0 — без повторных попыток.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки multipart/form-data и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Файлы можно передавать как fs.ReadStream или как объект, представляющий файл и содержащий его имя, MIME-тип и содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут отправлены вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал отменен, операция будет прервана и вызовет ошибку. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(); передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

head​

Отправляет запрос HTTP(S) HEAD и возвращает ответ. Метод добавляет в запрос файлы cookie из контекста и обновляет файлы cookie контекста на основе ответа. Метод автоматически выполняет перенаправления.

Использование

await apiRequestContext.head(url);
await apiRequestContext.head(url, options);

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data является объектом, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Следует ли генерировать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки application/x-www-form-urlencoded и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применяться к выполняемому запросу, а также ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, которые будут выполнены автоматически. Если это количество будет превышено, возникнет ошибка. По умолчанию 20. Передайте 0, чтобы не выполнять перенаправления.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторная попытка выполняется только при ошибке ECONNRESET. Повторные попытки не выполняются на основании кодов HTTP-ответа. Если лимит будет превышен, возникнет ошибка. По умолчанию 0 — без повторных попыток.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки multipart/form-data и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Файлы можно передавать как fs.ReadStream или как объект, представляющий файл и содержащий его имя, MIME-тип и содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут отправлены вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал отменен, операция будет прервана и вызовет ошибку. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(); передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

patch​

Отправляет запрос HTTP(S) PATCH и возвращает ответ. Метод добавляет в запрос файлы cookie из контекста и обновляет файлы cookie контекста на основе ответа. Метод автоматически выполняет перенаправления.

Использование

await apiRequestContext.patch(url);
await apiRequestContext.patch(url, options);

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data является объектом, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Следует ли генерировать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки application/x-www-form-urlencoded и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применяться к выполняемому запросу, а также ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, которые будут выполнены автоматически. Если это количество будет превышено, возникнет ошибка. По умолчанию 20. Передайте 0, чтобы не выполнять перенаправления.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторная попытка выполняется только при ошибке ECONNRESET. Повторные попытки не выполняются на основании кодов HTTP-ответа. Если лимит будет превышен, возникнет ошибка. По умолчанию 0 — без повторных попыток.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки multipart/form-data и отправлен в теле этого запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Файлы можно передавать как fs.ReadStream или как объект, представляющий файл и содержащий его имя, MIME-тип и содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут отправлены вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал отменен, операция будет прервана и вызовет ошибку. Обратите внимание: передача сигнала не отключает тайм-аут по умолчанию. Его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(); передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

post​

Отправляет запрос HTTP(S) POST и возвращает ответ. Метод добавляет в запрос файлы cookie из контекста и обновляет файлы cookie контекста на основе ответа. Метод автоматически следует перенаправлениям.

Использование

Объекты JSON можно передавать непосредственно в запрос:

await request.post('https://example.com/api/createBook', {
  data: {
    title: 'Book Title',
    author: 'John Doe',
  }
});

Чтобы отправить данные формы на сервер, используйте параметр form. Его значение будет закодировано в теле запроса с использованием кодировки application/x-www-form-urlencoded (см. ниже, как использовать кодировку формы multipart/form-data для отправки файлов):

await request.post('https://example.com/api/findBook', {
  form: {
    title: 'Book Title',
    author: 'John Doe',
  }
});

Обычно файлы отправляют в теле запроса, загружая их в качестве полей формы с кодировкой multipart/form-data. Используйте FormData, чтобы сформировать тело запроса, и передайте его в запросе в качестве параметра multipart:

const form = new FormData();
form.set('name', 'John');
form.append('name', 'Doe');
// Send two file fields with the same name.
form.append('file', new File(['console.log(2024);'], 'f1.js', { type: 'text/javascript' }));
form.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
await request.post('https://example.com/api/uploadForm', {
  multipart: form
});

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data является объектом, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Определяет, нужно ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки application/x-www-form-urlencoded и отправлен в качестве тела запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применяться как к отправляемому запросу, так и ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Определяет, нужно ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, за которыми будет выполнен автоматический переход. Если это число будет превышено, будет выброшено исключение. По умолчанию 20. Передайте 0, чтобы не переходить по перенаправлениям.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторные попытки выполняются только при ошибке ECONNRESET. Повторные попытки не зависят от кодов HTTP-ответа. Если лимит будет превышен, будет выброшено исключение. По умолчанию 0 — повторные попытки не выполняются.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки multipart/form-data и отправлен в качестве тела запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Значения файлов можно передавать либо как fs.ReadStream, либо как объект, представляющий файл и содержащий его имя, MIME-тип и содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут отправлены вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал отменен, операция будет прервана и выбросит исключение. Обратите внимание, что передача сигнала не отключает тайм-аут по умолчанию; его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(). Передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

put​

Отправляет запрос HTTP(S) PUT и возвращает ответ. Метод добавляет в запрос файлы cookie из контекста и обновляет файлы cookie контекста на основе ответа. Метод автоматически следует перенаправлениям.

Использование

await apiRequestContext.put(url);
await apiRequestContext.put(url, options);

Аргументы

  • url string

    Целевой URL.

  • options Object (необязательно)

    • data string | Buffer | Serializable (необязательно)

      Позволяет задать данные POST-запроса. Если параметр data является объектом, он будет сериализован в строку JSON, а заголовку content-type будет присвоено значение application/json, если оно не задано явно. В противном случае заголовку content-type будет присвоено значение application/octet-stream, если оно не задано явно.

    • failOnStatusCode boolean (необязательно)

      Определяет, нужно ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • form Object<string, string | number | boolean> | FormData (необязательно)

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки application/x-www-form-urlencoded и отправлен в качестве тела запроса. Если этот параметр указан, заголовку content-type будет присвоено значение application/x-www-form-urlencoded, если оно не задано явно.

    • headers Object<string, string> (необязательно)

      Позволяет задать HTTP-заголовки. Эти заголовки будут применяться как к отправляемому запросу, так и ко всем инициированным им перенаправлениям.

    • ignoreHTTPSErrors boolean (необязательно)

      Определяет, нужно ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно)

      Максимальное количество перенаправлений запроса, за которыми будет выполнен автоматический переход. Если это число будет превышено, будет выброшено исключение. По умолчанию 20. Передайте 0, чтобы не переходить по перенаправлениям.

    • maxRetries number (необязательно)

      Максимальное количество повторных попыток при сетевых ошибках. В настоящее время повторные попытки выполняются только при ошибке ECONNRESET. Повторные попытки не зависят от кодов HTTP-ответа. Если лимит будет превышен, будет выброшено исключение. По умолчанию 0 — повторные попытки не выполняются.

    • multipart FormData | Object<string, string | number | boolean | ReadStream | Object> (необязательно)

      • name string

        Имя файла

      • mimeType string

        Тип файла

      • buffer Buffer

        Содержимое файла

      Задает объект, который будет сериализован в HTML-форму с использованием кодировки multipart/form-data и отправлен в качестве тела запроса. Если этот параметр указан, заголовку content-type будет присвоено значение multipart/form-data, если оно не задано явно. Значения файлов можно передавать либо как fs.ReadStream, либо как объект, представляющий файл и содержащий его имя, MIME-тип и содержимое.

    • params Object<string, string | number | boolean> | URLSearchParams | string (необязательно)

      Параметры запроса, которые будут отправлены вместе с URL.

    • signal AbortSignal (необязательно)

      Позволяет отменить операцию с помощью AbortSignal. Если сигнал отменен, операция будет прервана и выбросит исключение. Обратите внимание, что передача сигнала не отключает тайм-аут по умолчанию; его можно изменить с помощью browserContext.setDefaultTimeout() или page.setDefaultTimeout(). Передайте timeout: 0, чтобы полностью отключить тайм-аут.

    • timeout number (необязательно)

      Тайм-аут запроса в миллисекундах. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

Возвращает

  • Promise<APIResponse>

storageState​

Возвращает состояние хранилища для этого контекста запроса: текущие файлы cookie и снимок локального хранилища, если он был передан конструктору.

Использование

await apiRequestContext.storageState();
await apiRequestContext.storageState(options);

Аргументы

  • options Object (необязательно)
    • indexedDB boolean (необязательно)

      Установите значение true, чтобы включить IndexedDB в снимок состояния хранилища.

    • opfs boolean (необязательно)

      Установите значение true, чтобы включить частную файловую систему источника в снимок состояния хранилища.

    • path string (необязательно)

      Путь к файлу, в который нужно сохранить состояние хранилища. Если path является относительным путем, он разрешается относительно текущего рабочего каталога. Если путь не указан, состояние хранилища все равно возвращается, но не сохраняется на диск.

Возвращает

  • Promise<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

Свойства​

tracing​

Средство записи трассировки запросов, выполненных через этот контекст API-запросов.

Использование

apiRequestContext.tracing

Тип

  • Tracing

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-apirequestcontext

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API