Spec-Zone.ru › Playwright

AndroidDevice

AndroidDevice представляет подключенное устройство — реальное или эмулируемое. Устройства можно получить с помощью android.devices().

Методы​

close​

Отключается от устройства.

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

await androidDevice.close();

Возвращает

  • Promise<void>

drag​

Перетаскивает виджет, заданный параметром selector, к точке dest.

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

await androidDevice.drag(selector, dest);
await androidDevice.drag(selector, dest, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета для перетаскивания.

  • dest Object

    • x number

    • y number

    Точка, к которой нужно перетащить.

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

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

      Необязательная скорость перетаскивания в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

fill​

Заполняет поле ввода, заданное параметром selector, текстом из параметра text.

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

await androidDevice.fill(selector, text);
await androidDevice.fill(selector, text, options);

Аргументы

  • selector [AndroidSelector]

    Селектор поля для заполнения.

  • text string

    Текст для заполнения поля ввода.

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

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

fling​

Выполняет быстрый свайп по виджету, заданному параметром selector, в указанном направлении (direction).

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

await androidDevice.fling(selector, direction);
await androidDevice.fling(selector, direction, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета для быстрого свайпа.

  • direction "down" | "up" | "left" | "right"

    Направление быстрого свайпа.

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

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

      Необязательная скорость быстрого свайпа в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

info​

Возвращает информацию о виджете, заданном параметром selector.

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

await androidDevice.info(selector);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета, информацию о котором нужно получить.

Возвращает

  • Promise<[AndroidElementInfo]>

installApk​

Устанавливает APK на устройство.

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

await androidDevice.installApk(file);
await androidDevice.installApk(file, options);

Аргументы

  • file string | Buffer

    Путь к файлу APK или содержимое файла APK.

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

    • args Array<string> (необязательно)

      Необязательные аргументы, передаваемые вызову shell:cmd package install. По умолчанию — -r -t -S.

Возвращает

  • Promise<void>

launchBrowser​

Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.

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

await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);

Аргументы

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

      Автоматически ли загружать все вложения. По умолчанию — true, то есть загрузка всех файлов разрешена.

    • args Array<string> (необязательно)

      предупреждение

      Используйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.

      Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.

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

      При использовании page.goto(), page.route(), page.waitForURL(), page.waitForRequest() или page.waitForResponse() учитывается базовый 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
    • bypassCSP boolean (необязательно)

      Включает обход Content-Security-Policy страницы. По умолчанию — false.

    • colorScheme null | "light" | "dark" | "no-preference" (необязательно)

      Эмулирует медиахарактеристику prefers-colors-scheme; поддерживаются значения 'light' и 'dark'. Подробнее см. в page.emulateMedia(). Передача null сбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию — 'light'.

    • contrast null | "no-preference" | "more" (необязательно)

      Эмулирует медиахарактеристику 'prefers-contrast'; поддерживаются значения 'no-preference', 'more'. Подробнее см. в page.emulateMedia(). Передача null сбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию — 'no-preference'.

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

      Задаёт коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию — 1. Подробнее об эмуляции устройств с коэффициентом масштабирования.

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

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

    • forcedColors null | "active" | "none" (необязательно)

      Эмулирует медиахарактеристику 'forced-colors'; поддерживаются значения 'active', 'none'. Подробнее см. в page.emulateMedia(). Передача null сбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию — 'none'.

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

      • latitude number

        Широта от -90 до 90.

      • longitude number

        Долгота от -180 до 180.

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

        Неотрицательное значение точности. По умолчанию — 0.

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

      Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее см. в разделе об эмуляции мобильных устройств.

    • httpCredentials Object | Array<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.

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

      Учитывается ли тег meta viewport и включаются ли сенсорные события. isMobile является частью устройства, поэтому задавать его вручную не нужно. По умолчанию — false; в Firefox не поддерживается. Подробнее см. в разделе об эмуляции мобильных устройств.

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

      Включить ли JavaScript в контексте. По умолчанию — true. Подробнее см. в разделе об отключении JavaScript.

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

      Задаёт локаль пользователя, например en-GB, de-DE и т. д. Локаль влияет на значение navigator.language, значение заголовка запроса Accept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции см. в нашем руководстве по эмуляции.

    • logger Logger (необязательно)

      Устарело

      Журналы, получаемые регистратором, неполны. Вместо этого используйте трассировку.

      Приёмник журналов для логирования Playwright.

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

      Эмулировать ли отключённое сетевое соединение. По умолчанию — false. Подробнее см. в разделе об эмуляции сети.

    • permissions Array<string> (необязательно)

      Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. в browserContext.grantPermissions(). По умолчанию не задано.

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

      Необязательное имя пакета для запуска вместо Chrome для Android по умолчанию.

    • 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 требует аутентификации.

      Настройки сетевого прокси.

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

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

        Необязательный параметр, определяющий, следует ли исключать содержимое запросов из HAR. По умолчанию — false. Устарел; вместо него используйте политику content.

      • content "omit" | "embed" | "attach" (необязательно)

        Необязательный параметр управления содержимым ресурсов. Если указано omit, содержимое не сохраняется. Если указано attach, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указано embed, содержимое сохраняется непосредственно в файле HAR согласно спецификации HAR. Для выходных файлов .zip по умолчанию используется attach, а для всех остальных расширений файлов — embed.

      • path string

        Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на .zip, по умолчанию используется content: 'attach'.

      • mode "full" | "minimal" (необязательно)

        Если установлено значение minimal, из HAR записывается только информация, необходимая для маршрутизации. Не записываются размеры, время, страницы, файлы cookie, сведения о безопасности и другие данные HAR, не используемые при воспроизведении из HAR. По умолчанию — full.

      • urlFilter string | RegExp (необязательно)

        Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если через параметры контекста задан baseURL, а переданный URL является путём, они объединяются с помощью конструктора new URL(). По умолчанию не задано.

      Включает запись HAR для всех страниц в файл recordHar.path. Если параметр не задан, HAR не записывается. Чтобы сохранить HAR, обязательно дождитесь завершения browserContext.close().

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

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

        Путь к каталогу для сохранения видео. Если параметр не задан, видео сохраняются в artifactsDir (см. параметры browserType.launch()).

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

        • width number

          Ширина кадра видео.

        • height number

          Высота кадра видео.

        Необязательные размеры записываемого видео. Если параметр не задан, размер будет равен viewport с уменьшением для размещения в области 800x800. Если viewport явно не задан, размер видео по умолчанию составляет 800x450. При необходимости изображение каждой страницы уменьшается, чтобы соответствовать заданному размеру.

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

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

          Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию — 500.

        • position "top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)

          Положение наложения с названием действия. По умолчанию — "top-right".

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

          Размер шрифта названия действия в пикселях. По умолчанию — 24.

        • cursor "none" | "pointer" (необязательно)

          Оформление курсора для действий указателя. "pointer" (значение по умолчанию) отображает указатель мыши, который анимированно перемещается от точки предыдущего действия к точке следующего. "none" отключает оформление курсора.

        Если параметр задан, во время записи видео на взаимодействующих элементах отображаются визуальные аннотации.

      Включает запись видео для всех страниц в каталог recordVideo.dir. Если параметр не задан, видео не записываются. Чтобы сохранить видео, обязательно дождитесь завершения browserContext.close().

    • reducedMotion null | "reduce" | "no-preference" (необязательно)

      Эмулирует медиахарактеристику 'prefers-reduced-motion'; поддерживаются значения 'reduce', 'no-preference'. Подробнее см. в page.emulateMedia(). Передача null сбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию — 'no-preference'.

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

      • width number

        Ширина страницы в пикселях.

      • height number

        Высота страницы в пикселях.

      Эмулирует постоянный размер экрана окна, доступный на веб-странице через window.screen. Используется только при заданном viewport.

    • serviceWorkers "allow" | "block" (необязательно)

      Разрешать ли сайтам регистрировать Service Workers. По умолчанию — 'allow'.

      • 'allow': можно регистрировать Service Workers.
      • 'block': Playwright блокирует всю регистрацию Service Workers.
    • strictSelectors boolean (необязательно)

      Если установлено значение true, для этого контекста включается строгий режим селекторов. В строгом режиме селекторов все операции с селекторами, подразумевающие выбор одного целевого элемента DOM, вызывают исключение, если селектору соответствует более одного элемента. Этот параметр не влияет на API Locator (Locator всегда работают в строгом режиме). По умолчанию — false. Подробнее о строгом режиме см. в разделе Locator.

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

      Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt от ICU. По умолчанию используется системный часовой пояс.

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

      Пользовательский user agent для этого контекста.

    • viewport null | Object (необязательно)

      • width number

        Ширина страницы в пикселях.

      • height number

        Высота страницы в пикселях.

      Эмулирует постоянную область просмотра для каждой страницы. По умолчанию размер области просмотра составляет 1280x720. Используйте null, чтобы отключить эмуляцию постоянной области просмотра. Подробнее см. в разделе об эмуляции области просмотра.

      примечание

      Значение null отключает предустановленные значения по умолчанию и делает область просмотра зависимой от размера окна хоста, заданного операционной системой. Это делает выполнение тестов недетерминированным.

Возвращает

  • Promise<BrowserContext>

longTap​

Выполняет длительное нажатие на виджет, заданный с помощью selector.

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

await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);

Аргументы

  • selector [AndroidSelector]

    Селектор элемента для нажатия.

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

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

model​

Модель устройства.

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

androidDevice.model();

Возвращает

  • string

open​

Запускает процесс в командной оболочке устройства и возвращает сокет для связи с запущенным процессом.

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

await androidDevice.open(command);

Аргументы

  • command string

    Команда оболочки для выполнения.

Возвращает

  • Promise<AndroidSocket>

pinchClose​

Выполняет на виджете, заданном с помощью selector, жест сведения пальцев.

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

await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор элемента для сведения пальцев.

  • percent number

    Размер жеста сведения пальцев в процентах от размера виджета.

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

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

      Необязательная скорость жеста сведения пальцев в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

pinchOpen​

Сжимает виджет, определяемый селектором, в направлении раскрытия.

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

await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета, который нужно раскрыть щипком.

  • percent number

    Размер жеста масштабирования в процентах от размера виджета.

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

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

      Необязательная скорость жеста масштабирования в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

press​

Нажимает указанную клавишу в виджете, определяемом селектором.

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

await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета, в котором нужно нажать клавишу.

  • key [AndroidKey]

    Клавиша, которую нужно нажать.

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

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

push​

Копирует файл на устройство.

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

await androidDevice.push(file, path);
await androidDevice.push(file, path, options);

Аргументы

  • file string | Buffer

    Путь к файлу или содержимое файла.

  • path string

    Путь к файлу на устройстве.

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

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

      Необязательные права доступа к файлу; по умолчанию — 644 (rw-r--r--).

Возвращает

  • Promise<void>

screenshot​

Возвращает буфер со снимком экрана устройства.

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

await androidDevice.screenshot();
await androidDevice.screenshot(options);

Аргументы

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

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

Возвращает

  • Promise<Buffer>

scroll​

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

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

await androidDevice.scroll(selector, direction, percent);
await androidDevice.scroll(selector, direction, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета для прокрутки.

  • direction "down" | "up" | "left" | "right"

    Направление прокрутки.

  • percent number

    Расстояние прокрутки в процентах от размера виджета.

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

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

      Необязательная скорость прокрутки в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

serial​

Серийный номер устройства.

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

androidDevice.serial();

Возвращает

  • string

setDefaultTimeout​

Этот параметр изменяет максимальное время ожидания по умолчанию для всех методов, принимающих параметр timeout.

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

androidDevice.setDefaultTimeout(timeout);

Аргументы

  • timeout number

    Максимальное время в миллисекундах

shell​

Выполняет команду оболочки на устройстве и возвращает результат.

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

await androidDevice.shell(command);

Аргументы

  • command string

    Команда оболочки для выполнения.

Возвращает

  • Promise<Buffer>

swipe​

Проводит пальцем по виджету, определяемому селектором, в указанном направлении.

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

await androidDevice.swipe(selector, direction, percent);
await androidDevice.swipe(selector, direction, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета для проведения пальцем.

  • direction "down" | "up" | "left" | "right"

    Направление жеста.

  • percent number

    Расстояние проведения пальцем в процентах от размера виджета.

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

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

      Необязательная скорость жеста в пикселях в секунду.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

tap​

Нажимает на виджет, определяемый селектором.

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

await androidDevice.tap(selector);
await androidDevice.tap(selector, options);

Аргументы

  • selector [AndroidSelector]

    Селектор виджета, на который нужно нажать.

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

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

      Необязательная длительность нажатия в миллисекундах.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

wait​

Ожидает появления или исчезновения указанного селектора в зависимости от состояния.

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

await androidDevice.wait(selector);
await androidDevice.wait(selector, options);

Аргументы

  • selector [AndroidSelector]

    Селектор, появления которого нужно дождаться.

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

    • state "gone" (необязательно)

      Необязательное состояние. Возможные значения:

      • по умолчанию — дождаться появления элемента.
      • 'gone' — дождаться исчезновения элемента.
    • timeout number (необязательно)

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<void>

waitForEvent​

Ожидает возникновения события и передает его значение функции-предикату. Возвращает результат, когда предикат возвращает истинное значение.

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

await androidDevice.waitForEvent(event);
await androidDevice.waitForEvent(event, optionsOrPredicate);

Аргументы

  • event string

    Имя события; обычно то же имя передается в *.on(event).

  • optionsOrPredicate function | Object (необязательно)

    • predicate function

      Получает данные события и возвращает истинное значение, когда ожидание должно завершиться.

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

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

    Предикат, получающий событие, или объект параметров. Необязательный параметр.

Возвращает

  • Promise<Object>

webView​

Этот метод ожидает открытия AndroidWebView, соответствующего селектору, и возвращает его. Если соответствующий AndroidWebView уже открыт, метод возвращает его немедленно.

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

await androidDevice.webView(selector);
await androidDevice.webView(selector, options);

Аргументы

  • selector Object
    • pkg string (необязательно)

      Необязательный идентификатор пакета.

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

      Необязательное имя сокета WebView.

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

      Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().

Возвращает

  • Promise<AndroidWebView>

webViews​

Открытые в данный момент WebView.

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

androidDevice.webViews();

Возвращает

  • Array<AndroidWebView>

Свойства​

input​

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

androidDevice.input

Тип

  • AndroidInput

События​

on('close')​

Генерируется при закрытии соединения с устройством.

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

androidDevice.on('close', data => {});

Данные события

  • AndroidDevice

on('webview')​

Генерируется при обнаружении нового экземпляра WebView.

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

androidDevice.on('webview', data => {});

Данные события

  • AndroidWebView

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

Spec-Zone.ru

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