Spec-Zone.ru › Playwright

AndroidDevice

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

Методы​

close​

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

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

await androidDevice.close();

Возвращаемое значение

  • Promise<void>

drag​

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

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

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

Аргументы

  • selector [AndroidSelector]

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

  • dest Объект

    • x число

    • y число

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

  • options Объект (необязательно)

    • speed число (необязательно)

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

    • timeout число (необязательно)

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

Возвращаемое значение

  • Promise<void>

fill​

Заполняет поле ввода определенное селектором текстом text.

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

await androidDevice.fill(selector, text);
await androidDevice.fill(selector, text, options);

Аргументы

  • selector [AndroidSelector]

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

  • text строка

    Текст для заполнения поля ввода.

  • options Объект (необязательно)

    • timeout число (необязательно)

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

Возвращаемое значение

  • Promise<void>

fling​

Проводит резкое движение виджета, определенного селектором в указанном направлении.

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

await androidDevice.fling(selector, direction);
await androidDevice.fling(selector, direction, options);

Аргументы

  • selector [AndroidSelector]

    Селектор для резкого движения.

  • direction "вниз" | "вверх" | "влево" | "вправо"

    Направление резкого движения.

  • options Объект (необязательно)

    • speed число (необязательно)

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

    • timeout число (необязательно)

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

Возвращаемое значение

  • Promise<void>

info​

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

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

await androidDevice.info(selector);

Аргументы

  • selector [AndroidSelector]

    Селектор для получения информации.

Возвращаемое значение

  • Promise<[AndroidElementInfo]>

installApk​

Устанавливает apk на устройстве.

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

await androidDevice.installApk(file);
await androidDevice.installApk(file, options);

Аргументы

  • file строка | Buffer

    Путь к файлу apk или содержимое файла apk.

  • options Объект (необязательно)

    • args Массив<строк> (необязательно)

      Необязательные аргументы для вызова shell:cmd package install. По умолчанию -r -t -S.

Возвращаемое значение

  • Promise<void>

launchBrowser​

Запускает браузер Chrome на устройстве и возвращает его постоянный контекст.

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

await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);

Аргументы

  • options Объект (необязательно)
    • acceptDownloads boolean (необязательно)

      Автоматически загружать все вложения. По умолчанию 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
    • bypassCSP boolean (необязательно)

      Включает обход Content-Security-Policy страницы. По умолчанию false.

    • colorScheme null | "светлая" | "тёмная" | "не задано" (необязательно)

      Эмулирует среду prefers-colors-scheme, поддерживаемые значения 'light' и 'dark'. Подробнее см. page.emulateMedia(). Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'light'.

    • command строка (необязательно)

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

    • deviceScaleFactor число (необязательно)

      Указывает коэффициент масштабирования устройства (можно рассматривать как dpr). По умолчанию 1. Подробнее об эмуляции устройств с коэффициентом масштабирования устройства.

    • extraHTTPHeaders Объект<строка, строка> (необязательно)

      Объект, содержащий дополнительные HTTP-заголовки, которые будут отправляться с каждым запросом. По умолчанию отсутствуют.

    • forcedColors null | "активный" | "отсутствует" (необязательно)

      Эмулирует среду prefers-reduced-motion, поддерживаемые значения 'active', 'none'. Подробнее см. page.emulateMedia(). Передача null сбрасывает эмуляцию до системных значений. По умолчанию 'none'.

    • geolocation Объект (необязательно)

      • latitude число

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

      • longitude число

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

      • accuracy число (необязательно)

        Неотрицательное значение точности. По умолчанию 0.

    • hasTouch boolean (необязательно)

      Указывает, поддерживает ли viewport события touch. По умолчанию false. Подробнее о мобильной эмуляции.

    • httpCredentials Объект (необязательно)

      • username строка

      • password строка

      • origin строка (необязательно)

        Ограничение отправки http-креденциалов на определенный origin (scheme://host:port).

      • send "неавторизованный" | "всегда" (необязательно)

        Этот параметр применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера. 'always' - Authorization заголовок с базовыми учетными данными аутентификации будет отправлен с каждым API-запросом. 'unauthorized - учетные данные отправляются только тогда, когда получен ответ 401 (Неавторизован) с WWW-Authenticate заголовком. По умолчанию 'unauthorized'.

      Данные для аутентификации HTTP. Если origin не указан, имя пользователя и пароль отправляются на любые серверы при ответах с кодом неавторизации.

    • ignoreHTTPSErrors boolean (необязательно)

      Игнорировать ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • isMobile boolean (необязательно)

      Учитывается ли тег meta viewport и включены ли события touch. isMobile является частью устройства, поэтому вам не нужно устанавливать его вручную. По умолчанию false, и не поддерживается в Firefox. Подробнее о эмуляции мобильных устройств.

    • javaScriptEnabled boolean (необязательно)

      Включить JavaScript в контексте. По умолчанию true. Подробнее о отключении JavaScript.

    • locale строка (необязательно)

      Укажите локаль пользователя, например en-GB, de-DE, и т. д. Локаль повлияет на navigator.language значение, Accept-Language значение заголовка запроса, а также правила форматирования чисел и дат. По умолчанию используется системная локаль. Подробнее об эмуляции в нашем руководстве по эмуляции.

    • logger Логгер (необязательно)

      Приемник логгера для ведения журнала Playwright.

    • offline boolean (необязательно)

      Эмулировать отключение сети. По умолчанию 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 Объект (необязательно)

        • width число

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

        • height число

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

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

      • width число

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

      • height число

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

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

      • width число

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

      • height число

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

    • videosPath строка (необязательно)

      Устарело

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

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

      • width число

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

      • height число

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

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

      примечание

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

Возвращает

  • Promise<BrowserContext>

longTap​

Выполняет долгое нажатие на виджет, определённый селектором.

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

await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);

Аргументы

  • selector [AndroidSelector]

    Селектор для нажатия.

  • options Объект (необязательно)

    • timeout число (необязательно)

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

Возвращает

  • Promise<void>

model​

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

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

androidDevice.model();

Возвращает

  • строка

open​

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

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

await androidDevice.open(command);

Аргументы

  • command строка

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

Возвращает

  • Promise<AndroidSocket>

pinchClose​

Сжимает виджет, определённый селектором, в направлении закрытия.

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

await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор для сжатия.

  • percent число

    Размер сжатия в процентах от размера виджета.

  • options Объект (необязательно)

    • speed число (необязательно)

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

    • timeout число (необязательно)

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

Возвращает

  • Promise<void>

pinchOpen​

Сжимает виджет, определённый селектором, в направлении открытия.

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

await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);

Аргументы

  • selector [AndroidSelector]

    Селектор для сжатия.

  • percent число

    Размер сжатия в процентах от размера виджета.

  • options Объект (необязательно)

    • speed число (необязательно)

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

    • timeout число (необязательно)

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

Возвращает

  • Promise<void>

press​

Нажимает на определённую клавишу в виджете, определённом селектором.

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

await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);

Аргументы

  • selector [AndroidSelector]

    Селектор для нажатия клавиши.

  • key [AndroidKey]

    Клавиша для нажатия.

  • options Объект (необязательно)

    • timeout число (необязательно)

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

Возвращает

  • Promise<void>

push​

Копирует файл на устройство.

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

await androidDevice.push(file, path);
await androidDevice.push(file, path, options);

Аргументы

  • file строка | Буфер

    Путь к файлу или содержимое файла.

  • path строка

    Путь к файлу на устройстве.

  • options Объект (необязательно)

    • mode число (необязательно)

      Необязательный режим файла, по умолчанию 644 (rw-r--r--).

Возвращает

  • Обещание<пустое значение>

скриншот​

Возвращает буфер со снимком экрана устройства.

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

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

Аргументы

  • options Объект (необязательно)
    • path строка (необязательно)

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

Возвращает

  • Обещание<Буфер>

прокрутка​

Прокручивает виджет, определенный параметром 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().

Возвращает

  • Promise<void>

waitForEvent​

Ожидает срабатывания события и передает его значение в предикатную функцию. Возвращает значение, когда предикат возвращает истинное значение.

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

await androidDevice.waitForEvent(event);
await androidDevice.waitForEvent(event, optionsOrPredicate);

Аргументы

  • event строка

    Имя события, аналогичное обычному имени, передаваемому в *.on(event).

  • optionsOrPredicate функция | объект (необязательно)

    • predicate функция

      получает данные события и разрешает ожидание, когда предикат возвращает истинное значение.

    • timeout число (необязательно)

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

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

Возвращает

  • Promise<объект>

webView​

Этот метод ожидает, пока AndroidWebView, соответствующий селектору, не откроется, и возвращает его. Если AndroidWebView, соответствующий селектору, уже открыт, возвращает значение немедленно.

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

await androidDevice.webView(selector);
await androidDevice.webView(selector, options);

Аргументы

  • selector объект
    • pkg строка (необязательно)

      Необязательный идентификатор пакета.

    • socketName строка (необязательно)

      Необязательное имя сокета WebView.

  • options объект (необязательно)
    • timeout число (необязательно)

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

Возвращает

  • Promise<AndroidWebView>

webViews​

В настоящее время открытые WebView.

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

androidDevice.webViews();

Возвращает

  • Массив<AndroidWebView>

Свойства​

input​

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

androidDevice.input

Тип

  • AndroidInput

События​

on('close')​

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

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

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

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

  • AndroidDevice

on('webview')​

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

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

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

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

  • AndroidWebView

© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-androiddevice

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API