AndroidDevice
AndroidDevice представляет собой подключенное устройство, которое может быть как реальным, так и эмулированным. Устройства можно получить с помощью android.devices().
Методы
close
Добавлено в: v1.9Отключает устройство.
Использование
await androidDevice.close();
Возвращает
drag
Добавлено в: v1.9Перетаскивает виджет, определенный с помощью selector, к точке dest.
Использование
await androidDevice.drag(selector, dest);
await androidDevice.drag(selector, dest, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для перетаскивания.
-
Точка, к которой нужно перетащить.
-
options
Object (необязательно)-
Необязательная скорость перетаскивания в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
fill
Добавлено в: v1.9Заполняет конкретное поле ввода 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().
-
Возвращает
fling
Добавлено в: v1.9Запускает виджет, определенный с помощью selector, в указанном direction.
Использование
await androidDevice.fling(selector, direction);
await androidDevice.fling(selector, direction, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для флинга.
-
direction
"down" | "up" | "left" | "right"#Направление флинга.
-
options
Object (необязательно)-
Необязательная скорость флинга в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
info
Добавлено в: v1.9Возвращает информацию о виджете, определенном с помощью selector.
Использование
await androidDevice.info(selector);
Аргументы
-
selector
[AndroidSelector]#Селектор, о котором нужно вернуть информацию.
Возвращает
installApk
Добавлено в: v1.9Устанавливает apk на устройство.
Использование
await androidDevice.installApk(file);
await androidDevice.installApk(file, options);
Аргументы
-
Либо путь к apk файлу, либо содержимое apk файла.
-
options
Object (необязательно)
Возвращает
launchBrowser
Добавлено в: v1.9Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.
Использование
await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);
Аргументы
options
Object (необязательно)-
acceptDownloads
boolean (необязательно)#Указывает, следует ли автоматически загружать все вложения. По умолчанию
true
, все загрузки принимаются. -
args
Array<[string]> (необязательно) Добавлено в: v1.29#warningИспользуйте пользовательские аргументы браузера на свой страх и риск, так как некоторые из них могут нарушить функциональность 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
- baseURL:
-
bypassCSP
boolean (необязательно)#Переключает обход политики безопасности контента страницы. По умолчанию
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'
. -
hasTouch
boolean (необязательно)#Указывает, поддерживает ли область просмотра события касания. По умолчанию false. Узнайте больше о мобильной эмуляции.
-
httpCredentials
Object (необязательно)#-
username
[string] -
password
[string] -
origin
[string] (необязательно)Ограничивает отправку http-учетных данных на конкретный источник (scheme://host:port).
-
send
"unauthorized" | "always" (необязательно)Эта опция применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера.
'always'
- заголовокAuthorization
с учетными данными базовой аутентификации будет отправлен с каждым API-запросом.'unauthorized
- учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовкомWWW-Authenticate
. По умолчанию'unauthorized'
.
Учетные данные для HTTP-аутентификации. Если не указан источник, имя пользователя и пароль отправляются на любые серверы при несанкционированных ответах.
-
-
ignoreHTTPSErrors
boolean (необязательно)#Указывает, следует ли игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию
false
. -
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 (необязательно) Добавлено в: v1.29#-
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. По умолчаниюattach
для выходных файлов.zip
иembed
для всех других расширений файлов. -
path
[string]Путь в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip
, по умолчанию используетсяcontent: 'attach'
. -
mode
"full" | "minimal" (необязательно)При установке в
minimal
записывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницы, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull
. -
urlFilter
[string] | [RegExp] (необязательно)Шаблон glob или regex для фильтрации запросов, которые сохраняются в HAR. Когда был предоставлен baseURL через параметры контекста, и переданный URL является путем, он объединяется с помощью конструктора
new URL()
. По умолчанию отсутствует.
Включает запись HAR для всех страниц в файл
recordHar.path
. Если не указано, HAR не записывается. Убедитесь, что вы ожидаете browserContext.close() для сохранения HAR. -
-
recordVideo
Object (необязательно)#-
dir
[string]Путь к директории для сохранения видео.
-
size
Object (необязательно)Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport
, уменьшенному для соответствия 800x800. Еслиviewport
не настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет уменьшено, если это необходимо, чтобы соответствовать указанному размеру.
Включает запись видео для всех страниц в директорию
recordVideo.dir
. Если не указано, видео не записываются. Убедитесь, что вы ожидаете browserContext.close() для сохранения видео. -
-
reducedMotion
null | "reduce" | "no-preference" (необязательно)#Эмулирует медиа-функцию
'prefers-reduced-motion'
, поддерживаемые значения:'reduce'
,'no-preference'
. См. page.emulateMedia() для получения дополнительной информации. Передачаnull
сбрасывает эмуляцию на системные настройки. По умолчанию'no-preference'
. -
screen
Object (необязательно)#Эмулирует постоянный размер окна экрана, доступного внутри веб-страницы через
window.screen
. Используется только когда установлен viewport. -
serviceWorkers
"allow" | "block" (необязательно)#Указывает, разрешено ли сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'
.'allow'
: Сервисные рабочие процессы могут быть зарегистрированы.'block'
: Playwright будет блокировать все регистрации сервисных рабочих процессов.
-
strictSelectors
boolean (необязательно)#Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме селекторов все операции с селекторами, которые подразумевают единственный целевой элемент DOM, будут вызывать ошибку, если совпадает более одного элемента. Эта опция не влияет на любые API Locator (локаторы всегда строгие). По умолчанию
false
. См. Locator, чтобы узнать больше о строгом режиме. -
timezoneId
[string] (необязательно)#Изменяет часовой пояс контекста. См. ICU's metaZones.txt для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется системный часовой пояс.
-
userAgent
[string] (необязательно)#Конкретный пользовательский агент для использования в этом контексте.
-
videoSize
Object (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
videosPath
[string] (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
viewport
null | Object (необязательно)#Эмулирует постоянный размер области просмотра для каждой страницы. По умолчанию 1280x720. Используйте
null
, чтобы отключить эмуляцию постоянного размера области просмотра. Узнайте больше о эмуляции области просмотра.noteЗначение
null
исключает из стандартных предустановок, делает размер области просмотра зависимым от размера окна хоста, определенного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
longTap
Добавлено в: v1.9Выполняет длительное нажатие на виджет, определенный с помощью selector.
Использование
await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для нажатия.
-
options
Object (необязательно)-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
model
Добавлено в: v1.9Модель устройства.
Использование
androidDevice.model();
Возвращает
- [string]#
open
Добавлено в: v1.9Запускает процесс в оболочке на устройстве и возвращает сокет для связи с запущенным процессом.
Использование
await androidDevice.open(command);
Аргументы
-
command
[string]#Команда оболочки для выполнения.
Возвращает
pinchClose
Добавлено в: v1.9Сжимает виджет, определенный с помощью selector, в закрывающем направлении.
Использование
await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для сжатия.
-
Размер сжатия в процентах от размера виджета.
-
options
Object (необязательно)-
Необязательная скорость сжатия в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
pinchOpen
Добавлено в: v1.9Расширяет виджет, определенный с помощью selector, в открывающем направлении.
Использование
await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для расширения.
-
Размер расширения в процентах от размера виджета.
-
options
Object (необязательно)-
Необязательная скорость расширения в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
press
Добавлено в: v1.9Нажимает на конкретную key в виджете, определенном с помощью selector.
Использование
await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для нажатия на клавишу.
-
key
[AndroidKey]#Клавиша для нажатия.
-
options
Object (необязательно)-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
push
Добавлено в: v1.9Копирует файл на устройство.
Использование
await androidDevice.push(file, path);
await androidDevice.push(file, path, options);
Аргументы
-
Либо путь к файлу, либо содержимое файла.
-
path
[string]#Путь к файлу на устройстве.
-
options
Object (необязательно)
Возвращает
screenshot
Добавлено в: v1.9Возвращает буфер с захваченным скриншотом устройства.
Использование
await androidDevice.screenshot();
await androidDevice.screenshot(options);
Аргументы
options
Object (необязательно)
Возвращает
scroll
Добавлено в: v1.9Прокручивает виджет, определенный с помощью selector, в указанном direction.
Использование
await androidDevice.scroll(selector, direction, percent);
await androidDevice.scroll(selector, direction, percent, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для прокрутки.
-
direction
"down" | "up" | "left" | "right"#Направление прокрутки.
-
Расстояние прокрутки в процентах от размера виджета.
-
options
Object (необязательно)-
Необязательная скорость прокрутки в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
serial
Добавлено в: v1.9Серийный номер устройства.
Использование
androidDevice.serial();
Возвращает
- [string]#
setDefaultTimeout
Добавлено в: v1.9Эта настройка изменит максимальное время по умолчанию для всех методов, принимающих опцию timeout.
Использование
androidDevice.setDefaultTimeout(timeout);
Аргументы
shell
Добавлено в: v1.9Выполняет команду оболочки на устройстве и возвращает ее вывод.
Использование
await androidDevice.shell(command);
Аргументы
-
command
[string]#Команда оболочки для выполнения.
Возвращает
swipe
Добавлено в: v1.9Смахивает виджет, определенный с помощью selector, в указанном direction.
Использование
await androidDevice.swipe(selector, direction, percent);
await androidDevice.swipe(selector, direction, percent, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для смахивания.
-
direction
"down" | "up" | "left" | "right"#Направление смахивания.
-
Расстояние смахивания в процентах от размера виджета.
-
options
Object (необязательно)-
Необязательная скорость смахивания в пикселях в секунду.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
tap
Добавлено в: v1.9Нажимает на виджет, определенный с помощью selector.
Использование
await androidDevice.tap(selector);
await androidDevice.tap(selector, options);
Аргументы
-
selector
[AndroidSelector]#Селектор для нажатия.
-
options
Object (необязательно)-
duration
number (необязательно)#Необязательная продолжительность нажатия в миллисекундах.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
wait
Добавлено в: v1.9Ожидает, пока конкретный selector появится или исчезнет, в зависимости от state.
Использование
await androidDevice.wait(selector);
await androidDevice.wait(selector, options);
Аргументы
-
selector
[AndroidSelector]#Селектор, который нужно ожидать.
-
options
Object (необязательно)-
state
"gone" (необязательно)#Необязательное состояние. Может быть либо:
- по умолчанию - ожидать, пока элемент будет присутствовать.
'gone'
- ожидать, пока элемент не будет присутствовать.
-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
waitForEvent
Добавлено в: v1.9Ожидает, пока событие произойдет, и передает его значение в функцию предиката. Возвращает, когда предикат возвращает истинное значение.
Использование
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().
Либо предикат, который получает событие, либо объект параметров. Необязательно.
-
Возвращает
webView
Добавлено в: v1.9Этот метод ожидает, пока AndroidWebView, соответствующий selector, будет открыт, и возвращает его. Если уже открыт AndroidWebView, соответствующий selector, возвращает немедленно.
Использование
await androidDevice.webView(selector);
await androidDevice.webView(selector, options);
Аргументы
selector
Object#-
pkg
[string] (необязательно)Необязательный идентификатор пакета.
-
socketName
[string] (необязательно)Необязательное имя сокета веб-представления.
-
options
Object (необязательно)-
timeout
number (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0
, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
webViews
Добавлено в: v1.9Текущие открытые WebViews.
Использование
androidDevice.webViews();
Возвращает
Свойства
input
Добавлено в: v1.9Использование
androidDevice.input
Тип
События
on('close')
Добавлено в: v1.28Событие, которое возникает, когда соединение с устройством закрывается.
Использование
androidDevice.on('close', data => {});
Данные события
on('webview')
Добавлено в: v1.9Событие, которое возникает, когда обнаруживается новый экземпляр WebView.
Использование
androidDevice.on('webview', data => {});
Данные события