AndroidDevice
AndroidDevice представляет подключенное устройство — реальное или эмулируемое. Устройства можно получить с помощью android.devices().
Методы
close
Отключается от устройства.
Использование
await androidDevice.close();
Возвращает
drag
Перетаскивает виджет, заданный параметром selector, к точке dest.
Использование
await androidDevice.drag(selector, dest); await androidDevice.drag(selector, dest, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета для перетаскивания.
-
destObjectТочка, к которой нужно перетащить.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость перетаскивания в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
fill
Заполняет поле ввода, заданное параметром selector, текстом из параметра text.
Использование
await androidDevice.fill(selector, text); await androidDevice.fill(selector, text, options);
Аргументы
-
selector[AndroidSelector]Селектор поля для заполнения.
-
textstringТекст для заполнения поля ввода.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
fling
Выполняет быстрый свайп по виджету, заданному параметром selector, в указанном направлении (direction).
Использование
await androidDevice.fling(selector, direction); await androidDevice.fling(selector, direction, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета для быстрого свайпа.
-
direction"down" | "up" | "left" | "right"Направление быстрого свайпа.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость быстрого свайпа в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
info
Возвращает информацию о виджете, заданном параметром selector.
Использование
await androidDevice.info(selector);
Аргументы
-
selector[AndroidSelector]Селектор виджета, информацию о котором нужно получить.
Возвращает
- Promise<[AndroidElementInfo]>
installApk
Устанавливает APK на устройство.
Использование
await androidDevice.installApk(file); await androidDevice.installApk(file, options);
Аргументы
-
Путь к файлу APK или содержимое файла APK.
-
optionsObject (необязательно)
Возвращает
launchBrowser
Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.
Использование
await androidDevice.launchBrowser(); await androidDevice.launchBrowser(options);
Аргументы
-
optionsObject (необязательно)-
acceptDownloadsboolean (необязательно)Автоматически ли загружать все вложения. По умолчанию —
true, то есть загрузка всех файлов разрешена. -
argsArray<string> (необязательно)предупреждениеИспользуйте пользовательские аргументы браузера на свой страх и риск: некоторые из них могут нарушить работу Playwright.
Дополнительные аргументы, передаваемые экземпляру браузера. Список флагов Chromium можно найти здесь.
-
baseURLstring (необязательно)При использовании 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
- baseURL:
-
bypassCSPboolean (необязательно)Включает обход Content-Security-Policy страницы. По умолчанию —
false. -
colorSchemenull | "light" | "dark" | "no-preference" (необязательно)Эмулирует медиахарактеристику prefers-colors-scheme; поддерживаются значения
'light'и'dark'. Подробнее см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию —'light'. -
contrastnull | "no-preference" | "more" (необязательно)Эмулирует медиахарактеристику
'prefers-contrast'; поддерживаются значения'no-preference','more'. Подробнее см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию —'no-preference'. -
deviceScaleFactornumber (необязательно)Задаёт коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию —
1. Подробнее об эмуляции устройств с коэффициентом масштабирования. -
extraHTTPHeadersObject<string, string> (необязательно)Объект с дополнительными HTTP-заголовками, отправляемыми с каждым запросом. По умолчанию не задано.
-
forcedColorsnull | "active" | "none" (необязательно)Эмулирует медиахарактеристику
'forced-colors'; поддерживаются значения'active','none'. Подробнее см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию —'none'. -
geolocationObject (необязательно) -
hasTouchboolean (необязательно)Указывает, поддерживает ли область просмотра сенсорные события. По умолчанию — false. Подробнее см. в разделе об эмуляции мобильных устройств.
-
httpCredentialsObject | Array<Object> (необязательно)-
usernamestring -
passwordstring -
originstring (необязательно)Ограничивает отправку учётных данных HTTP для указанного источника (scheme://host:port).
-
send"unauthorized" | "always" (необязательно)Этот параметр применяется только к запросам, отправляемым из соответствующего APIRequestContext, и не влияет на запросы из браузера.
'always'— заголовокAuthorizationс учётными данными базовой аутентификации будет отправляться с каждым API-запросом.'unauthorized— учётные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate. По умолчанию —'unauthorized'.
Учётные данные для HTTP-аутентификации. Если источник не указан, имя пользователя и пароль отправляются на любые серверы в ответ на отказ в авторизации.
Передайте массив, чтобы использовать разные учётные данные для разных источников. Используется первая запись, соответствующая источнику запроса; записи без указанного источника соответствуют любому запросу.
-
-
ignoreHTTPSErrorsboolean (необязательно)Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию —
false. -
isMobileboolean (необязательно)Учитывается ли тег
meta viewportи включаются ли сенсорные события. isMobile является частью устройства, поэтому задавать его вручную не нужно. По умолчанию —false; в Firefox не поддерживается. Подробнее см. в разделе об эмуляции мобильных устройств. -
javaScriptEnabledboolean (необязательно)Включить ли JavaScript в контексте. По умолчанию —
true. Подробнее см. в разделе об отключении JavaScript. -
localestring (необязательно)Задаёт локаль пользователя, например
en-GB,de-DEи т. д. Локаль влияет на значениеnavigator.language, значение заголовка запросаAccept-Language, а также на правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции см. в нашем руководстве по эмуляции. -
loggerLogger (необязательно)УстарелоЖурналы, получаемые регистратором, неполны. Вместо этого используйте трассировку.
Приёмник журналов для логирования Playwright.
-
offlineboolean (необязательно)Эмулировать ли отключённое сетевое соединение. По умолчанию —
false. Подробнее см. в разделе об эмуляции сети. -
permissionsArray<string> (необязательно)Список разрешений, предоставляемых всем страницам в этом контексте. Подробнее см. в browserContext.grantPermissions(). По умолчанию не задано.
-
pkgstring (необязательно)Необязательное имя пакета для запуска вместо Chrome для Android по умолчанию.
-
proxyObject (необязательно)-
serverstringПрокси-сервер, используемый для всех запросов. Поддерживаются прокси HTTP и SOCKS, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Краткая формаmyproxy.com:3128рассматривается как прокси HTTP. -
bypassstring (необязательно)Необязательный список доменов через запятую, для которых прокси обходится, например
".com, chromium.org, .domain.com". -
usernamestring (необязательно)Необязательное имя пользователя, используемое, если прокси HTTP требует аутентификации.
-
passwordstring (необязательно)Необязательный пароль, используемый, если прокси HTTP требует аутентификации.
Настройки сетевого прокси.
-
-
recordHarObject (необязательно)-
omitContentboolean (необязательно)Необязательный параметр, определяющий, следует ли исключать содержимое запросов из HAR. По умолчанию —
false. Устарел; вместо него используйте политикуcontent. -
content"omit" | "embed" | "attach" (необязательно)Необязательный параметр управления содержимым ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются как отдельные файлы или записи в ZIP-архиве. Если указаноembed, содержимое сохраняется непосредственно в файле HAR согласно спецификации HAR. Для выходных файлов.zipпо умолчанию используетсяattach, а для всех остальных расширений файлов —embed. -
pathstringПуть в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip, по умолчанию используетсяcontent: 'attach'. -
mode"full" | "minimal" (необязательно)Если установлено значение
minimal, из HAR записывается только информация, необходимая для маршрутизации. Не записываются размеры, время, страницы, файлы cookie, сведения о безопасности и другие данные HAR, не используемые при воспроизведении из HAR. По умолчанию —full. -
urlFilterstring | RegExp (необязательно)Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. Если через параметры контекста задан baseURL, а переданный URL является путём, они объединяются с помощью конструктора
new URL(). По умолчанию не задано.
Включает запись HAR для всех страниц в файл
recordHar.path. Если параметр не задан, HAR не записывается. Чтобы сохранить HAR, обязательно дождитесь завершения browserContext.close(). -
-
recordVideoObject (необязательно)-
dirstring (необязательно)Путь к каталогу для сохранения видео. Если параметр не задан, видео сохраняются в
artifactsDir(см. параметры browserType.launch()). -
sizeObject (необязательно)Необязательные размеры записываемого видео. Если параметр не задан, размер будет равен
viewportс уменьшением для размещения в области 800x800. Еслиviewportявно не задан, размер видео по умолчанию составляет 800x450. При необходимости изображение каждой страницы уменьшается, чтобы соответствовать заданному размеру. -
showActionsObject (необязательно)-
durationnumber (необязательно)Продолжительность отображения каждой аннотации в миллисекундах. По умолчанию —
500. -
position"top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (необязательно)Положение наложения с названием действия. По умолчанию —
"top-right". -
fontSizenumber (необязательно)Размер шрифта названия действия в пикселях. По умолчанию —
24. -
cursor"none" | "pointer" (необязательно)Оформление курсора для действий указателя.
"pointer"(значение по умолчанию) отображает указатель мыши, который анимированно перемещается от точки предыдущего действия к точке следующего."none"отключает оформление курсора.
Если параметр задан, во время записи видео на взаимодействующих элементах отображаются визуальные аннотации.
-
Включает запись видео для всех страниц в каталог
recordVideo.dir. Если параметр не задан, видео не записываются. Чтобы сохранить видео, обязательно дождитесь завершения browserContext.close(). -
-
reducedMotionnull | "reduce" | "no-preference" (необязательно)Эмулирует медиахарактеристику
'prefers-reduced-motion'; поддерживаются значения'reduce','no-preference'. Подробнее см. в page.emulateMedia(). Передачаnullсбрасывает эмуляцию к системным значениям по умолчанию. Значение по умолчанию —'no-preference'. -
screenObject (необязательно)Эмулирует постоянный размер экрана окна, доступный на веб-странице через
window.screen. Используется только при заданном viewport. -
serviceWorkers"allow" | "block" (необязательно)Разрешать ли сайтам регистрировать Service Workers. По умолчанию —
'allow'.-
'allow': можно регистрировать Service Workers. -
'block': Playwright блокирует всю регистрацию Service Workers.
-
-
strictSelectorsboolean (необязательно)Если установлено значение true, для этого контекста включается строгий режим селекторов. В строгом режиме селекторов все операции с селекторами, подразумевающие выбор одного целевого элемента DOM, вызывают исключение, если селектору соответствует более одного элемента. Этот параметр не влияет на API Locator (Locator всегда работают в строгом режиме). По умолчанию —
false. Подробнее о строгом режиме см. в разделе Locator. -
timezoneIdstring (необязательно)Изменяет часовой пояс контекста. Список поддерживаемых идентификаторов часовых поясов см. в файле metaZones.txt от ICU. По умолчанию используется системный часовой пояс.
-
userAgentstring (необязательно)Пользовательский user agent для этого контекста.
-
viewportnull | Object (необязательно)Эмулирует постоянную область просмотра для каждой страницы. По умолчанию размер области просмотра составляет 1280x720. Используйте
null, чтобы отключить эмуляцию постоянной области просмотра. Подробнее см. в разделе об эмуляции области просмотра.примечаниеЗначение
nullотключает предустановленные значения по умолчанию и делает область просмотра зависимой от размера окна хоста, заданного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
longTap
Выполняет длительное нажатие на виджет, заданный с помощью selector.
Использование
await androidDevice.longTap(selector); await androidDevice.longTap(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор элемента для нажатия.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
model
Модель устройства.
Использование
androidDevice.model();
Возвращает
open
Запускает процесс в командной оболочке устройства и возвращает сокет для связи с запущенным процессом.
Использование
await androidDevice.open(command);
Аргументы
-
commandstringКоманда оболочки для выполнения.
Возвращает
pinchClose
Выполняет на виджете, заданном с помощью selector, жест сведения пальцев.
Использование
await androidDevice.pinchClose(selector, percent); await androidDevice.pinchClose(selector, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор элемента для сведения пальцев.
-
percentnumberРазмер жеста сведения пальцев в процентах от размера виджета.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость жеста сведения пальцев в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
pinchOpen
Сжимает виджет, определяемый селектором, в направлении раскрытия.
Использование
await androidDevice.pinchOpen(selector, percent); await androidDevice.pinchOpen(selector, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета, который нужно раскрыть щипком.
-
percentnumberРазмер жеста масштабирования в процентах от размера виджета.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость жеста масштабирования в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
press
Нажимает указанную клавишу в виджете, определяемом селектором.
Использование
await androidDevice.press(selector, key); await androidDevice.press(selector, key, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета, в котором нужно нажать клавишу.
-
key[AndroidKey]Клавиша, которую нужно нажать.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
push
Копирует файл на устройство.
Использование
await androidDevice.push(file, path); await androidDevice.push(file, path, options);
Аргументы
-
Путь к файлу или содержимое файла.
-
pathstringПуть к файлу на устройстве.
-
optionsObject (необязательно)-
modenumber (необязательно)Необязательные права доступа к файлу; по умолчанию —
644(rw-r--r--).
-
Возвращает
screenshot
Возвращает буфер со снимком экрана устройства.
Использование
await androidDevice.screenshot(); await androidDevice.screenshot(options);
Аргументы
-
optionsObject (необязательно)
Возвращает
scroll
Прокручивает виджет, определяемый селектором, в указанном направлении.
Использование
await androidDevice.scroll(selector, direction, percent); await androidDevice.scroll(selector, direction, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета для прокрутки.
-
direction"down" | "up" | "left" | "right"Направление прокрутки.
-
percentnumberРасстояние прокрутки в процентах от размера виджета.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость прокрутки в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
serial
Серийный номер устройства.
Использование
androidDevice.serial();
Возвращает
setDefaultTimeout
Этот параметр изменяет максимальное время ожидания по умолчанию для всех методов, принимающих параметр timeout.
Использование
androidDevice.setDefaultTimeout(timeout);
Аргументы
-
timeoutnumberМаксимальное время в миллисекундах
shell
Выполняет команду оболочки на устройстве и возвращает результат.
Использование
await androidDevice.shell(command);
Аргументы
-
commandstringКоманда оболочки для выполнения.
Возвращает
swipe
Проводит пальцем по виджету, определяемому селектором, в указанном направлении.
Использование
await androidDevice.swipe(selector, direction, percent); await androidDevice.swipe(selector, direction, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета для проведения пальцем.
-
direction"down" | "up" | "left" | "right"Направление жеста.
-
percentnumberРасстояние проведения пальцем в процентах от размера виджета.
-
optionsObject (необязательно)-
speednumber (необязательно)Необязательная скорость жеста в пикселях в секунду.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
tap
Нажимает на виджет, определяемый селектором.
Использование
await androidDevice.tap(selector); await androidDevice.tap(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор виджета, на который нужно нажать.
-
optionsObject (необязательно)-
durationnumber (необязательно)Необязательная длительность нажатия в миллисекундах.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
wait
Ожидает появления или исчезновения указанного селектора в зависимости от состояния.
Использование
await androidDevice.wait(selector); await androidDevice.wait(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор, появления которого нужно дождаться.
-
optionsObject (необязательно)-
state"gone" (необязательно)Необязательное состояние. Возможные значения:
- по умолчанию — дождаться появления элемента.
-
'gone'— дождаться исчезновения элемента.
-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
waitForEvent
Ожидает возникновения события и передает его значение функции-предикату. Возвращает результат, когда предикат возвращает истинное значение.
Использование
await androidDevice.waitForEvent(event); await androidDevice.waitForEvent(event, optionsOrPredicate);
Аргументы
-
eventstringИмя события; обычно то же имя передается в
*.on(event). -
optionsOrPredicatefunction | Object (необязательно)-
predicatefunctionПолучает данные события и возвращает истинное значение, когда ожидание должно завершиться.
-
timeoutnumber (необязательно)Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
Предикат, получающий событие, или объект параметров. Необязательный параметр.
-
Возвращает
webView
Этот метод ожидает открытия AndroidWebView, соответствующего селектору, и возвращает его. Если соответствующий AndroidWebView уже открыт, метод возвращает его немедленно.
Использование
await androidDevice.webView(selector); await androidDevice.webView(selector, options);
Аргументы
-
selectorObject -
optionsObject (необязательно)-
timeoutnumber (необязательно)Максимальное время в миллисекундах; по умолчанию — 30 секунд. Передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
webViews
Открытые в данный момент WebView.
Использование
androidDevice.webViews();
Возвращает
Свойства
input
Использование
androidDevice.input
Тип
События
on('close')
Генерируется при закрытии соединения с устройством.
Использование
androidDevice.on('close', data => {}); Данные события
on('webview')
Генерируется при обнаружении нового экземпляра WebView.
Использование
androidDevice.on('webview', data => {}); Данные события
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-androiddevice