AndroidDevice
AndroidDevice представляет подключенное устройство, как реальное аппаратное обеспечение, так и эмулированное. Устройства можно получить с помощью android.devices().
Методы
close
Отключается от устройства.
Использование
await androidDevice.close();
Возвращаемое значение
drag
Перетаскивает виджет, определенный селектором к точке dest.
Использование
await androidDevice.drag(selector, dest); await androidDevice.drag(selector, dest, options);
Аргументы
-
selector[AndroidSelector]Селектор для перетаскивания.
-
destОбъектТочка для перетаскивания.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость перетаскивания в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передать
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращаемое значение
fill
Заполняет поле ввода определенное селектором текстом text.
Использование
await androidDevice.fill(selector, text); await androidDevice.fill(selector, text, options);
Аргументы
-
selector[AndroidSelector]Селектор для заполнения.
-
textстрокаТекст для заполнения поля ввода.
-
optionsОбъект (необязательно)-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передать
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращаемое значение
fling
Проводит резкое движение виджета, определенного селектором в указанном направлении.
Использование
await androidDevice.fling(selector, direction); await androidDevice.fling(selector, direction, options);
Аргументы
-
selector[AndroidSelector]Селектор для резкого движения.
-
direction"вниз" | "вверх" | "влево" | "вправо"Направление резкого движения.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость резкого движения в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передать
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращаемое значение
info
Возвращает информацию о виджете, определенном селектором.
Использование
await androidDevice.info(selector);
Аргументы
-
selector[AndroidSelector]Селектор для получения информации.
Возвращаемое значение
- Promise<[AndroidElementInfo]>
installApk
Устанавливает apk на устройстве.
Использование
await androidDevice.installApk(file); await androidDevice.installApk(file, options);
Аргументы
-
Путь к файлу apk или содержимое файла apk.
-
optionsОбъект (необязательно)
Возвращаемое значение
launchBrowser
Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.
Использование
await androidDevice.launchBrowser(); await androidDevice.launchBrowser(options);
Аргументы
-
optionsОбъект (необязательно)-
acceptDownloadsboolean (необязательно)Автоматически загружать все вложения. По умолчанию
true, то есть все загрузки разрешены. -
argsМассив<строка> (необязательно)предупреждениеИспользование пользовательских аргументов браузера происходит на ваш страх и риск, так как некоторые из них могут нарушить функциональность Playwright.
Дополнительные аргументы для передачи экземпляру браузера. Список флагов Chromium можно найти здесь.
-
baseURLстрока (необязательно)При использовании 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 | "светлая" | "тёмная" | "не задано" (необязательно)Эмулирует среду prefers-colors-scheme, поддерживаемые значения
'light'и'dark'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'light'. -
commandстрока (необязательно)Необязательное имя пакета для запуска вместо стандартного Chrome для Android.
-
deviceScaleFactorчисло (необязательно)Указывает коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию
1. Подробнее об эмуляции устройств с коэффициентом масштабирования устройства. -
extraHTTPHeadersОбъект<строка, строка> (необязательно)Объект, содержащий дополнительные HTTP-заголовки, которые будут отправляться с каждым запросом. По умолчанию отсутствуют.
-
forcedColorsnull | "активный" | "отсутствует" (необязательно)Эмулирует среду prefers-reduced-motion, поддерживаемые значения
'active','none'. Подробнее см. page.emulateMedia(). Передачаnullсбрасывает эмуляцию до системных значений. По умолчанию'none'. -
geolocationОбъект (необязательно) -
hasTouchboolean (необязательно)Указывает, поддерживает ли viewport события touch. По умолчанию false. Подробнее о мобильной эмуляции.
-
httpCredentialsОбъект (необязательно)-
usernameстрока -
passwordстрока -
originстрока (необязательно)Ограничение отправки http-креденциалов на определенный origin (scheme://host:port).
-
send"неавторизованный" | "всегда" (необязательно)Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'-Authorizationзаголовок с базовыми учетными данными аутентификации будет отправлен с каждым API-запросом.'unauthorized- учетные данные отправляются только тогда, когда получен ответ 401 (Неавторизован) сWWW-Authenticateзаголовком. По умолчанию'unauthorized'.
Данные для аутентификации HTTP. Если origin не указан, имя пользователя и пароль отправляются на любые серверы при ответах с кодом неавторизации.
-
-
ignoreHTTPSErrorsboolean (необязательно)Игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false. -
isMobileboolean (необязательно)Учитывается ли тег
meta viewportи включены ли события touch. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчаниюfalse, и не поддерживается в Firefox. Подробнее о эмуляции мобильных устройств. -
javaScriptEnabledboolean (необязательно)Включить JavaScript в контексте. По умолчанию
true. Подробнее о отключении JavaScript. -
localeстрока (необязательно)Укажите локаль пользователя, например
en-GB,de-DE, и т. д. Локаль повлияет наnavigator.languageзначение,Accept-Languageзначение заголовка запроса, а также правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции в нашем руководстве по эмуляции. -
loggerЛоггер (необязательно)Приемник логгера для ведения журнала Playwright.
-
offlineboolean (необязательно)Эмулировать отключение сети. По умолчанию
false. Подробнее о сетевой эмуляции. -
permissionsМассив<строка> (необязательно)Список разрешений, предоставляемых всем страницам в данном контексте. Подробнее см. browserContext.grantPermissions(). По умолчанию не задано.
-
-
proxyОбъект (необязательно)-
serverстрокаПрокси, используемый для всех запросов. Поддерживаются HTTP и SOCKS прокси, например
http://myproxy.com:3128илиsocks5://myproxy.com:3128. Короткая формаmyproxy.com:3128рассматривается как HTTP прокси. -
bypassстрока (необязательно)Необязательные отделённые запятыми домены для обхода прокси, например
".com, chromium.org, .domain.com". -
usernameстрока (необязательно)Необязательное имя пользователя для использования, если HTTP-прокси требует аутентификации.
-
passwordстрока (необязательно)Необязательный пароль для использования, если HTTP-прокси требует аутентификации.
Настройки сетевого прокси.
-
-
recordHarОбъект (необязательно)-
omitContentлогическое значение (необязательно)Необязательная настройка, определяющая, следует ли пропускать содержимое запроса из HAR. По умолчанию
false. Устарело, используйте политикуcontentвместо этого. -
content"omit" | "embed" | "attach" (необязательно)Необязательная настройка для управления содержимым ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются как отдельные файлы или записи в архиве ZIP. Если указаноembed, содержимое хранится в файле HAR в соответствии со спецификацией HAR. По умолчаниюattachдля файлов вывода.zipиembedдля всех других расширений файлов. -
pathстрокаПуть в файловой системе для записи файла HAR. Если имя файла оканчивается на
.zip,content: 'attach'используется по умолчанию. -
mode"full" | "minimal" (необязательно)При установке значения
minimal, записывается только информация, необходимая для маршрутизации из HAR. Это опускает размеры, временные метки, страницы, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull. -
urlFilterстрока | RegExp (необязательно)Шаблон glob или regex для фильтрации запросов, которые сохраняются в HAR. Когда baseURL был предоставлен через параметры контекста, и переданный URL является путём, он объединяется через конструктор
new URL(). По умолчанию ничего.
Включает запись HAR для всех страниц в файл
recordHar.path. Если не указано, HAR не записывается. Убедитесь, что ожидаете browserContext.close() для сохранения HAR. -
-
recordVideoОбъект (необязательно)-
dirстрокаПуть к каталогу, в который нужно поместить видео.
-
sizeОбъект (необязательно)Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport, уменьшенным для соответствия 800x800. Еслиviewportне указан явно, размер видео по умолчанию равен 800x450. Фактическое изображение каждой страницы будет уменьшено при необходимости, чтобы соответствовать заданному размеру.
Включает запись видео для всех страниц в каталог
recordVideo.dir. Если не указано, видео не записываются. Убедитесь, что ожидаете browserContext.close() для сохранения видео. -
-
reducedMotionnull | "reduce" | "no-preference" (необязательно)Эмулирует
'prefers-reduced-motion'медиа-функцию, поддерживаемые значения'reduce','no-preference'. См. page.emulateMedia() для получения дополнительной информации. Передачаnullсбросит эмуляцию по умолчанию системы. По умолчанию'no-preference'. -
screenОбъект (необязательно)Эмулирует постоянный размер экрана окна, доступный внутри веб-страницы через
window.screen. Используется только при установке viewport. -
serviceWorkers"allow" | "block" (необязательно)Разрешить сайтам регистрировать Service workers. По умолчанию
'allow'.-
'allow': Service Workers могут быть зарегистрированы. -
'block': Playwright заблокирует все регистрации Service Workers.
-
-
strictSelectorsлогическое значение (необязательно)Если установлено в true, включает режим строгих селекторов для этого контекста. В режиме строгих селекторов все операции с селекторами, которые предполагают единственный целевой элемент DOM, будут вызывать ошибку, если селектору соответствует более одного элемента. Этот параметр не влияет на Locator API (Locator всегда строгие). По умолчанию
false. См. Locator, чтобы узнать больше о строгом режиме. -
timezoneIdстрока (необязательно)Изменяет часовой пояс контекста. См. ICU's metaZones.txt для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется системный часовой пояс.
-
userAgentстрока (необязательно)Конкретный пользовательский агент для использования в этом контексте.
-
videoSizeОбъект (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
videosPathстрока (необязательно)УстарелоИспользуйте recordVideo вместо этого.
-
-
viewportnull | Object (необязательно)Эмулирует согласованный viewport для каждой страницы. По умолчанию используется viewport 1280x720. Используйте
nullдля отключения эмуляции согласованного viewport. Дополнительную информацию можно найти в эмуляции viewport.примечаниеЗначение
nullотключает настройки по умолчанию, делает viewport зависимым от размера окна хоста, определённого операционной системой. Это делает выполнение тестов не детерминированным.
-
Возвращает
longTap
Выполняет долгое нажатие на виджет, определённый селектором.
Использование
await androidDevice.longTap(selector); await androidDevice.longTap(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор для нажатия.
-
optionsОбъект (необязательно)-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0чтобы отключить таймаут. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
model
Модель устройства.
Использование
androidDevice.model();
Возвращает
open
Запускает процесс в оболочке на устройстве и возвращает сокет для взаимодействия с запущенным процессом.
Использование
await androidDevice.open(command);
Аргументы
-
commandстрокаКоманда оболочки для выполнения.
Возвращает
pinchClose
Сжимает виджет, определённый селектором, в направлении закрытия.
Использование
await androidDevice.pinchClose(selector, percent); await androidDevice.pinchClose(selector, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор для сжатия.
-
percentчислоРазмер сжатия в процентах от размера виджета.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость сжатия в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0чтобы отключить таймаут. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
pinchOpen
Сжимает виджет, определённый селектором, в направлении открытия.
Использование
await androidDevice.pinchOpen(selector, percent); await androidDevice.pinchOpen(selector, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор для сжатия.
-
percentчислоРазмер сжатия в процентах от размера виджета.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость сжатия в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0чтобы отключить таймаут. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
press
Нажимает на определённую клавишу в виджете, определённом селектором.
Использование
await androidDevice.press(selector, key); await androidDevice.press(selector, key, options);
Аргументы
-
selector[AndroidSelector]Селектор для нажатия клавиши.
-
key[AndroidKey]Клавиша для нажатия.
-
optionsОбъект (необязательно)-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0чтобы отключить таймаут. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
push
Копирует файл на устройство.
Использование
await androidDevice.push(file, path); await androidDevice.push(file, path, options);
Аргументы
-
Путь к файлу или содержимое файла.
-
pathстрокаПуть к файлу на устройстве.
-
optionsОбъект (необязательно)-
modeчисло (необязательно)Необязательный режим файла, по умолчанию
644(rw-r--r--).
-
Возвращает
скриншот
Возвращает буфер со снимком экрана устройства.
Использование
await androidDevice.screenshot(); await androidDevice.screenshot(options);
Аргументы
-
optionsОбъект (необязательно)
Возвращает
прокрутка
Прокручивает виджет, определенный параметром selector, в указанном направлении direction.
Использование
await androidDevice.scroll(selector, direction, percent); await androidDevice.scroll(selector, direction, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор для прокрутки.
-
direction"вниз" | "вверх" | "влево" | "вправо"Направление прокрутки.
-
percentчислоРасстояние для прокрутки в процентах от размера виджета.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость прокрутки в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
серийный номер
Серийный номер устройства.
Использование
androidDevice.serial();
Возвращает
установитьТаймаутПоУмолчанию
Это настройка изменит значение максимального времени по умолчанию для всех методов, принимающих параметр timeout.
Использование
androidDevice.setDefaultTimeout(timeout);
Аргументы
-
timeoutчислоМаксимальное время в миллисекундах
командная строка
Выполняет команду командной строки на устройстве и возвращает ее вывод.
Использование
await androidDevice.shell(command);
Аргументы
-
commandстрокаКоманда командной строки для выполнения.
Возвращает
свайп
Производит свайп по виджету, определенному параметром selector, в указанном направлении direction.
Использование
await androidDevice.swipe(selector, direction, percent); await androidDevice.swipe(selector, direction, percent, options);
Аргументы
-
selector[AndroidSelector]Селектор для свайпа.
-
direction"вниз" | "вверх" | "влево" | "вправо"Направление свайпа.
-
percentчислоРасстояние для свайпа в процентах от размера виджета.
-
optionsОбъект (необязательно)-
speedчисло (необязательно)Необязательная скорость свайпа в пикселях в секунду.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
тап
Нажимает на виджет, определенный параметром selector.
Использование
await androidDevice.tap(selector); await androidDevice.tap(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор для нажатия.
-
optionsОбъект (необязательно)-
durationчисло (необязательно)Необязательная продолжительность нажатия в миллисекундах.
-
timeoutчисло (необязательно)Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
ожидание
Ожидает, пока указанный селектор либо появится, либо исчезнет, в зависимости от состояния.
Использование
await androidDevice.wait(selector); await androidDevice.wait(selector, options);
Аргументы
-
selector[AndroidSelector]Селектор, ожидаемый для появления.
-
optionsОбъект (необязательно)-
state"gone" (необязательно)Необязательное состояние. Может быть:
- default - ожидать, пока элемент будет присутствовать.
-
'gone'- ожидать, пока элемент не будет присутствовать.
-
timeoutчисло (необязательно)Максимальное время ожидания в миллисекундах, по умолчанию 30 секунд. Передайте
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
waitForEvent
Ожидает срабатывания события и передает его значение в предикатную функцию. Возвращает значение, когда предикат возвращает истинное значение.
Использование
await androidDevice.waitForEvent(event); await androidDevice.waitForEvent(event, optionsOrPredicate);
Аргументы
-
eventстрокаИмя события, аналогичное обычному имени, передаваемому в
*.on(event). -
optionsOrPredicateфункция | объект (необязательно)-
predicateфункцияполучает данные события и разрешает ожидание, когда предикат возвращает истинное значение.
-
timeoutчисло (необязательно)максимальное время ожидания в миллисекундах. По умолчанию
30000(30 секунд). Передайте0для отключения таймаута. Значение по умолчанию можно изменить, используя androidDevice.setDefaultTimeout().
Либо предикат, принимающий событие, либо объект параметров. Необязательно.
-
Возвращает
webView
Этот метод ожидает, пока AndroidWebView, соответствующий селектору, не откроется, и возвращает его. Если AndroidWebView, соответствующий селектору, уже открыт, возвращает значение немедленно.
Использование
await androidDevice.webView(selector); await androidDevice.webView(selector, options);
Аргументы
-
selectorобъект -
optionsобъект (необязательно)-
timeoutчисло (необязательно)Максимальное время ожидания в миллисекундах, по умолчанию 30 секунд. Передайте
0для отключения таймаута. Значение по умолчанию можно изменить, используя метод androidDevice.setDefaultTimeout().
-
Возвращает
webViews
В настоящее время открытые WebView.
Использование
androidDevice.webViews();
Возвращает
Свойства
input
Использование
androidDevice.input
Тип
События
on('close')
Вызывается при закрытии подключения к устройству.
Использование
androidDevice.on('close', data => {}); Данные события
on('webview')
Вызывается при обнаружении нового экземпляра WebView.
Использование
androidDevice.on('webview', data => {}); Данные события
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-androiddevice