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]#Селектор для перетаскивания.
-
Точка, к которой нужно перетащить.
-
optionsObject (необязательно)-
Необязательная скорость перетаскивания в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
fill
Добавлено в: v1.9Заполняет конкретное поле ввода selector текстом text.
Использование
await androidDevice.fill(selector, text);
await androidDevice.fill(selector, text, options);
Аргументы
-
selector[AndroidSelector]#Селектор для заполнения.
-
Текст, который нужно ввести в поле.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 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"#Направление флинга.
-
optionsObject (необязательно)-
Необязательная скорость флинга в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 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 файла.
-
optionsObject (необязательно)
Возвращает
launchBrowser
Добавлено в: v1.9Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.
Использование
await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);
Аргументы
optionsObject (необязательно)-
acceptDownloadsboolean (необязательно)#Указывает, следует ли автоматически загружать все вложения. По умолчанию
true, все загрузки принимаются. -
argsArray<string> (необязательно) Добавлено в: v1.29#warningИспользуйте пользовательские аргументы браузера на свой страх и риск, так как некоторые из них могут нарушить функциональность 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 (необязательно)#Переключает обход политики безопасности контента страницы. По умолчанию
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'. -
hasTouchboolean (необязательно)#Указывает, поддерживает ли область просмотра события касания. По умолчанию false. Узнайте больше о мобильной эмуляции.
-
httpCredentialsObject (необязательно)#-
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() для получения дополнительной информации. По умолчанию отсутствуют.
-
Необязательное имя пакета для запуска вместо стандартного Chrome для Android.
-
proxyObject (необязательно) Добавлено в: v1.29#-
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. По умолчаниюattachдля выходных файлов.zipиembedдля всех других расширений файлов. -
pathstringПуть в файловой системе для записи файла HAR. Если имя файла заканчивается на
.zip, по умолчанию используетсяcontent: 'attach'. -
mode"full" | "minimal" (необязательно)При установке в
minimalзаписывается только информация, необходимая для маршрутизации из HAR. Это исключает размеры, время, страницы, куки, безопасность и другие типы информации HAR, которые не используются при воспроизведении из HAR. По умолчаниюfull. -
urlFilterstring | RegExp (необязательно)Шаблон glob или regex для фильтрации запросов, которые сохраняются в HAR. Когда был предоставлен baseURL через параметры контекста, и переданный URL является путем, он объединяется с помощью конструктора
new URL(). По умолчанию отсутствует.
Включает запись HAR для всех страниц в файл
recordHar.path. Если не указано, HAR не записывается. Убедитесь, что вы ожидаете browserContext.close() для сохранения HAR. -
-
recordVideoObject (необязательно)#-
dirstringПуть к директории для сохранения видео.
-
sizeObject (необязательно)Необязательные размеры записываемых видео. Если не указано, размер будет равен
viewport, уменьшенному для соответствия 800x800. Еслиviewportне настроен явно, размер видео по умолчанию составляет 800x450. Фактическое изображение каждой страницы будет уменьшено, если это необходимо, чтобы соответствовать указанному размеру.
Включает запись видео для всех страниц в директорию
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" (необязательно)#Указывает, разрешено ли сайтам регистрировать сервисные рабочие процессы. По умолчанию
'allow'.'allow': Сервисные рабочие процессы могут быть зарегистрированы.'block': Playwright будет блокировать все регистрации сервисных рабочих процессов.
-
strictSelectorsboolean (необязательно)#Если установлено в true, включает строгий режим селекторов для этого контекста. В строгом режиме селекторов все операции с селекторами, которые подразумевают единственный целевой элемент DOM, будут вызывать ошибку, если совпадает более одного элемента. Эта опция не влияет на любые API Locator (локаторы всегда строгие). По умолчанию
false. См. Locator, чтобы узнать больше о строгом режиме. -
timezoneIdstring (необязательно)#Изменяет часовой пояс контекста. См. ICU's metaZones.txt для списка поддерживаемых идентификаторов часовых поясов. По умолчанию используется системный часовой пояс.
-
userAgentstring (необязательно)#Конкретный пользовательский агент для использования в этом контексте.
-
videoSizeObject (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
videosPathstring (необязательно)#УстарелоИспользуйте recordVideo вместо этого.
-
viewportnull | Object (необязательно)#Эмулирует постоянный размер области просмотра для каждой страницы. По умолчанию 1280x720. Используйте
null, чтобы отключить эмуляцию постоянного размера области просмотра. Узнайте больше о эмуляции области просмотра.примечаниеЗначение
nullисключает из стандартных предустановок, делает размер области просмотра зависимым от размера окна хоста, определенного операционной системой. Это делает выполнение тестов недетерминированным.
-
Возвращает
longTap
Добавлено в: v1.9Выполняет длительное нажатие на виджет, определенный с помощью selector.
Использование
await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);
Аргументы
-
selector[AndroidSelector]#Селектор для нажатия.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
model
Добавлено в: v1.9Модель устройства.
Использование
androidDevice.model();
Возвращает
open
Добавлено в: v1.9Запускает процесс в оболочке на устройстве и возвращает сокет для связи с запущенным процессом.
Использование
await androidDevice.open(command);
Аргументы
Возвращает
pinchClose
Добавлено в: v1.9Сжимает виджет, определенный с помощью selector, в закрывающем направлении.
Использование
await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);
Аргументы
-
selector[AndroidSelector]#Селектор для сжатия.
-
Размер сжатия в процентах от размера виджета.
-
optionsObject (необязательно)-
Необязательная скорость сжатия в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
pinchOpen
Добавлено в: v1.9Расширяет виджет, определенный с помощью selector, в открывающем направлении.
Использование
await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);
Аргументы
-
selector[AndroidSelector]#Селектор для расширения.
-
Размер расширения в процентах от размера виджета.
-
optionsObject (необязательно)-
Необязательная скорость расширения в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
press
Добавлено в: v1.9Нажимает на конкретную key в виджете, определенном с помощью selector.
Использование
await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);
Аргументы
-
selector[AndroidSelector]#Селектор для нажатия на клавишу.
-
key[AndroidKey]#Клавиша для нажатия.
-
optionsObject (необязательно)-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
push
Добавлено в: v1.9Копирует файл на устройство.
Использование
await androidDevice.push(file, path);
await androidDevice.push(file, path, options);
Аргументы
-
Либо путь к файлу, либо содержимое файла.
-
Путь к файлу на устройстве.
-
optionsObject (необязательно)
Возвращает
screenshot
Добавлено в: v1.9Возвращает буфер с захваченным скриншотом устройства.
Использование
await androidDevice.screenshot();
await androidDevice.screenshot(options);
Аргументы
optionsObject (необязательно)
Возвращает
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"#Направление прокрутки.
-
Расстояние прокрутки в процентах от размера виджета.
-
optionsObject (необязательно)-
Необязательная скорость прокрутки в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
serial
Добавлено в: v1.9Серийный номер устройства.
Использование
androidDevice.serial();
Возвращает
setDefaultTimeout
Добавлено в: v1.9Эта настройка изменит максимальное время по умолчанию для всех методов, принимающих опцию timeout.
Использование
androidDevice.setDefaultTimeout(timeout);
Аргументы
shell
Добавлено в: v1.9Выполняет команду оболочки на устройстве и возвращает ее вывод.
Использование
await androidDevice.shell(command);
Аргументы
Возвращает
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"#Направление смахивания.
-
Расстояние смахивания в процентах от размера виджета.
-
optionsObject (необязательно)-
Необязательная скорость смахивания в пикселях в секунду.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
tap
Добавлено в: v1.9Нажимает на виджет, определенный с помощью selector.
Использование
await androidDevice.tap(selector);
await androidDevice.tap(selector, options);
Аргументы
-
selector[AndroidSelector]#Селектор для нажатия.
-
optionsObject (необязательно)-
durationnumber (необязательно)#Необязательная продолжительность нажатия в миллисекундах.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
wait
Добавлено в: v1.9Ожидает, пока конкретный selector появится или исчезнет, в зависимости от state.
Использование
await androidDevice.wait(selector);
await androidDevice.wait(selector, options);
Аргументы
-
selector[AndroidSelector]#Селектор, который нужно ожидать.
-
optionsObject (необязательно)-
state"gone" (необязательно)#Необязательное состояние. Может быть либо:
- по умолчанию - ожидать, пока элемент будет присутствовать.
'gone'- ожидать, пока элемент не будет присутствовать.
-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 30 секунд, передайте
0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
-
Возвращает
waitForEvent
Добавлено в: v1.9Ожидает, пока событие произойдет, и передает его значение в функцию предиката. Возвращает, когда предикат возвращает истинное значение.
Использование
await androidDevice.waitForEvent(event);
await androidDevice.waitForEvent(event, optionsOrPredicate);
Аргументы
-
Имя события, то же самое, что обычно передается в
*.on(event). -
optionsOrPredicatefunction | Object (необязательно)#-
predicatefunctionполучает данные события и разрешается в истинное значение, когда ожидание должно разрешиться.
-
timeoutnumber (необязательно)максимальное время ожидания в миллисекундах. По умолчанию
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью метода androidDevice.setDefaultTimeout().
Либо предикат, который получает событие, либо объект параметров. Необязательно.
-
Возвращает
webView
Добавлено в: v1.9Этот метод ожидает, пока AndroidWebView, соответствующий selector, будет открыт, и возвращает его. Если уже открыт AndroidWebView, соответствующий selector, возвращает немедленно.
Использование
await androidDevice.webView(selector);
await androidDevice.webView(selector, options);
Аргументы
selectorObject#optionsObject (необязательно)-
timeoutnumber (необязательно)#Максимальное время в миллисекундах, по умолчанию 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 => {});
Данные события