Skip to main content

AndroidDevice

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


Методы

close

Добавлено в: v1.9 androidDevice.close

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

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

await androidDevice.close();

Возвращает


drag

Добавлено в: v1.9 androidDevice.drag

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

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

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

Аргументы

  • selector [AndroidSelector]#

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

  • dest Object#

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

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

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

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

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

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

Возвращает


fill

Добавлено в: v1.9 androidDevice.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().

Возвращает


fling

Добавлено в: v1.9 androidDevice.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().

Возвращает


info

Добавлено в: v1.9 androidDevice.info

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

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

await androidDevice.info(selector);

Аргументы

  • selector [AndroidSelector]#

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

Возвращает


installApk

Добавлено в: v1.9 androidDevice.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.

Возвращает


launchBrowser

Добавлено в: v1.9 androidDevice.launchBrowser

Запускает браузер 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
    • 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'.

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

      • latitude number

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

      • longitude number

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

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

        Ненегативное значение точности. По умолчанию 0.

    • 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 (необязательно)

        • width number

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

        • height number

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

        Необязательные размеры записываемых видео. Если не указано, размер будет равен 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 (необязательно)#

      • width number

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

      • height number

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

      Эмулирует постоянный размер окна экрана, доступного внутри веб-страницы через 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 вместо этого.

      • width number

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

      • height number

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

    • videosPath [string] (необязательно)#

      Устарело

      Используйте recordVideo вместо этого.

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

      • width number

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

      • height number

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

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

      note

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

Возвращает


longTap

Добавлено в: v1.9 androidDevice.longTap

Выполняет длительное нажатие на виджет, определенный с помощью 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

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

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

androidDevice.model();

Возвращает

  • [string]#

open

Добавлено в: v1.9 androidDevice.open

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

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

await androidDevice.open(command);

Аргументы

  • command [string]#

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

Возвращает


pinchClose

Добавлено в: v1.9 androidDevice.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().

Возвращает


pinchOpen

Добавлено в: v1.9 androidDevice.pinchOpen

Расширяет виджет, определенный с помощью selector, в открывающем направлении.

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

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().

Возвращает


press

Добавлено в: v1.9 androidDevice.press

Нажимает на конкретную 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 androidDevice.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--).

Возвращает


screenshot

Добавлено в: v1.9 androidDevice.screenshot

Возвращает буфер с захваченным скриншотом устройства.

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

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

Аргументы

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

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

Возвращает


scroll

Добавлено в: v1.9 androidDevice.scroll

Прокручивает виджет, определенный с помощью selector, в указанном direction.

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

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().

Возвращает


serial

Добавлено в: v1.9 androidDevice.serial

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

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

androidDevice.serial();

Возвращает

  • [string]#

setDefaultTimeout

Добавлено в: v1.9 androidDevice.setDefaultTimeout

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

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

androidDevice.setDefaultTimeout(timeout);

Аргументы

  • timeout number#

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


shell

Добавлено в: v1.9 androidDevice.shell

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

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

await androidDevice.shell(command);

Аргументы

  • command [string]#

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

Возвращает


swipe

Добавлено в: v1.9 androidDevice.swipe

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

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

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().

Возвращает


tap

Добавлено в: v1.9 androidDevice.tap

Нажимает на виджет, определенный с помощью 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 androidDevice.wait

Ожидает, пока конкретный 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 androidDevice.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().

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

Возвращает


webView

Добавлено в: v1.9 androidDevice.webView

Этот метод ожидает, пока 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 androidDevice.webViews

Текущие открытые WebViews.

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

androidDevice.webViews();

Возвращает


Свойства

input

Добавлено в: v1.9 androidDevice.input

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

androidDevice.input

Тип


События

on('close')

Добавлено в: v1.28 androidDevice.on('close')

Событие, которое возникает, когда соединение с устройством закрывается.

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

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

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


on('webview')

Добавлено в: v1.9 androidDevice.on('webview')

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

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

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

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