Chromium
isAlertOpen
Проверяет, открыт ли простой диалог в данный момент.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.isAlertOpen()
Пример
console.log(browser.isAlertOpen()); // выводит: false
browser.execute('window.alert()');
console.log(browser.isAlertOpen()); // выводит: true
Возвращает
- <Boolean>
isAlertOpen
:true
илиfalse
в зависимости от того, присутствует ли простой диалог или нет.
isAutoReporting
Проверяет, автоматически ли генерируются ошибки в логах браузера.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.isAutoReporting()
Возвращает
- <Boolean>
isAutoReporting
:true
илиfalse
в зависимости от того, включено ли автоматическое оповещение.
setAutoReporting
Переключает, возвращать ли ответ с неизвестной ошибкой при первой ошибке браузера (например, не удалось загрузить ресурс из-за ответа 403/404) для всех последующих команд (после включения).
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.setAutoReporting(enabled)
Параметры
Имя | Тип | Описание |
---|---|---|
enabled | boolean | true , если автоматическое оповещение должно быть включено, используйте false для отключения ранее включенного автоматического оповещения. |
Примеры
// Включить автоматическое оповещение сразу после инициализации сессии с пустыми логами браузера
console.log(browser.setAutoReporting(true)); // выводит: null
// При запросе несуществующего ресурса выполнение прервется из-за выброшенной неизвестной ошибки
browser.url('https://webdriver.io/img/404-does-not-exist.png');
// В течение сессии выполнить некоторые операции, которые заполняют логи браузера
browser.url('https://webdriver.io/img/404-does-not-exist.png');
browser.url('https://webdriver.io/403/no-access');
// Включить автоматическое оповещение, которое выбрасывает неизвестную ошибку для первой ошибки браузера (ответ 404)
browser.setAutoReporting(true);
Возвращает
- <Object|Null>
firstBrowserError
: В случае, если первая ошибка браузера уже произошла до выполнения этой команды, будет выброшена неизвестная ошибка в ответе, которая представляет собой объект с ключом 'message', описывающим первую ошибку браузера. В противном случае возвращаетnull
в случае успеха.
isLoading
Определяет статус загрузки для активного окна.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.isLoading()
Пример
console.log(browser.isLoading()); // выводит: false
browser.newWindow('https://webdriver.io');
console.log(browser.isLoading()); // выводит: true
Возвращает
- <Boolean>
isLoading
:true
илиfalse
в зависимости от того, загружается ли активное окно или нет.
takeHeapSnapshot
Делает снимок кучи текущего контекста выполнения.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.takeHeapSnapshot()
Возвращает
- <Object>
heapSnapshot
: JSON-представление снимка кучи. Его можно проверить, загрузив как файл в Chrome DevTools.
getNetworkConnection
Получает тип соединения для эмуляции сети. Эта команда применима только в том случае, если удаленный конец отвечает с возможностью networkConnectionEnabled
, установленной в true
.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getNetworkConnection()
Пример
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Эмуляция сети требует режима устройства, который включается только при включенной эмуляции мобильного устройства
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.getNetworkConnection()); // выводит: 6 (Как Wi-Fi, так и мобильные данные)
Возвращает
- <Number>
connectionType
: Битовая маска для представления типа сетевого соединения. Режим полета (1
), только Wi-Fi (2
), Wi-Fi и данные (6
), 4G (8
), 3G (10
), 2G (20
). По умолчанию Wi-Fi и данные включены.
setNetworkConnection
Изменить тип соединения для сетевого соединения. Эта команда применима только в том случае, если удаленный конец отвечает с возможностью networkConnectionEnabled
, установленной в true
.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.setNetworkConnection(parameters)
Параметры
Имя | Тип | Описание |
---|---|---|
parameters | object | Объект, содержащий ConnectionType, установите битовую маску в качестве значения для ключа type в объекте. Режим полета (1 ), только Wi-Fi (2 ), Wi-Fi и данные (6 ), 4G (8 ), 3G (10 ), 2G (20 ). |
Пример
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Эмуляция сети требует режима устройства, который включается только при включенной эмуляции мобильного устройства
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.setNetworkConnection({ type: 1 })); // выводит: 1 (Режим полета)
Возвращает
- <Number>
connectionType
: Битовая маска для представления типа сетевого соединения. Значение должно соответствовать указанномуtype
в объекте, однако устройство может не поддерживать запрошенный тип сетевого соединения.
getNetworkConditions
Получает текущие сетевые условия, используемые для эмуляции.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getNetworkConditions()
Возвращает
- <Object>
networkConditions
: Объект, содержащий сетевые условия дляoffline
,latency
,download_throughput
иupload_throughput
. Сетевые условия должны быть установлены до того, как их можно будет получить.
setNetworkConditions
Устанавливает сетевые условия, используемые для эмуляции, путем регулирования соединения.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.setNetworkConditions(network_conditions, network_name)
Параметры
Имя | Тип | Описание |
---|---|---|
network_conditions | object | Объект, содержащий сетевые условия, которые представляют собой latency , throughput (или download_throughput /upload_throughput ) и offline (опционально). |
network_name optional | string | Название пресета регулирования сети. GPRS , Regular 2G , Good 2G , Regular 3G , Good 3G , Regular 4G , DSL , WiFi или No throttling для отключения. Когда пресет указан, значения, переданные в первом аргументе, не учитываются. |
Примеры
// Использовать разные значения скорости загрузки (25 кб/с) и выгрузки (50 кб/с) для регулирования с задержкой 1000 мс
browser.setNetworkConditions({ latency: 1000, download_throughput: 25600, upload_throughput: 51200 });
// Принудительно отключиться от сети, установив 'offline' в true
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true });
// Когда указано название пресета (например, 'DSL'), он не учитывает значения в объекте (например, 'offline')
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true }, 'DSL');
// Лучшая практика для указания пресета регулирования сети - использовать пустой объект
browser.setNetworkConditions({}, 'Good 3G');
deleteNetworkConditions
Отключает любое регулирование сети, которое могло быть установлено. Эквивалентно установке пресета No throttling
.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.deleteNetworkConditions()
sendCommand
Отправляет команду отладчику DevTools.
Список доступных команд и их параметров можно найти в Chrome DevTools Protocol Viewer.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.sendCommand(cmd, params)
Параметры
Имя | Тип | Описание |
---|---|---|
cmd | string | Название команды (например, Browser.close ). |
params | object | Параметры команды. Если у команды нет параметров, укажите пустой объект. |
sendCommandAndGetResult
Отправляет команду отладчику DevTools и ожидает результат.
Список доступных команд и их параметров можно найти в Chrome DevTools Protocol Viewer.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.sendCommandAndGetResult(cmd, params)
Параметры
Имя | Тип | Описание |
---|---|---|
cmd | string | Название команды, которая возвращает результат (например, Network.getAllCookies ). |
params | object | Параметры команды. Если у команды нет параметров, укажите пустой объект. |
Возвращает
- <*>
result
: Либо возвращаемое значение вашей команды, либо ошибка, которая была причиной сбоя вашей команды.
file
Загружает файл на удаленную машину, на которой запущен браузер.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.file(file)
Параметры
Имя | Тип | Описание |
---|---|---|
file | string | Base64-кодированный ZIP-архив, содержащий один файл для загрузки. Если base64-кодированные данные не представляют собой ZIP-архив или архив содержит более одного файла, будет выброшена неизвестная ошибка. |
Возвращает
- <String>
path
: Абсолютный путь загруженного файла на удаленной машине.
launchChromeApp
Запускает приложение Chrome по указанному идентификатору.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.launchChromeApp(id)
Параметры
Имя | Тип | Описание |
---|---|---|
id | string | Идентификатор расширения приложения, которое нужно запустить, как определено в chrome://extensions. |
Пример
import fs from 'fs'
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Установить при запуске браузера для возможности запуска
extensions: [
// Запись должна быть упакованным приложением Chrome (.crx) в формате base64
fs.readFileSync('/absolute/path/app.crx').toString('base64')
]
}
}
});
browser.launchChromeApp('aohghmighlieiainnegkcijnfilokake')); // Google Docs (https://chrome.google.com/webstore/detail/docs/aohghmighlieiainnegkcijnfilokake)
getElementValue
Получает значение данного элемента управления формы.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getElementValue(elementId)
Параметры
Имя | Тип | Описание |
---|---|---|
elementId | String | идентификатор элемента, из которого получать значение |
Возвращает
- <String|Null>
value
: Текущее значение элемента. Если указанный элемент не является элементом управления формы, будет возвращеноnull
.
elementHover
Включает состояние наведения для элемента, которое сбрасывается при следующем взаимодействии.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.elementHover(elementId)
Параметры
Имя | Тип | Описание |
---|---|---|
elementId | String | идентификатор элемента, на который нужно навести курсор |
touchPinch
Вызывает эффект масштабирования щипком.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.touchPinch(x, y, scale)
Параметры
Имя | Тип | Описание |
---|---|---|
x | number | x-координата для щипка |
y | number | y-координата для щипка |
scale | number | масштаб увеличения щипком |
freeze
Замораживает текущую страницу. Расширение для Page Lifecycle API.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.freeze()
resume
Возобновляет работу текущей страницы. Расширение для Page Lifecycle API.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.resume()
getCastSinks
Возвращает список приемников Cast (устройств Cast), доступных медиа-маршрутизатору Chrome.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getCastSinks()
Возвращает
- <string[]>
sinks
: Список доступных приемников.
selectCastSink
Выбирает приемник Cast (устройство Cast) в качестве получателя намерений медиа-маршрутизатора (подключение или воспроизведение).
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.selectCastSink(sinkName)
Параметры
Имя | Тип | Описание |
---|---|---|
sinkName | string | Имя целевого устройства. |
startCastTabMirroring
Инициирует зеркальное отображение вкладки для текущей вкладки браузера на указанном устройстве.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.startCastTabMirroring(sinkName)
Параметры
Имя | Тип | Описание |
---|---|---|
sinkName | string | Имя целевого устройства. |
getCastIssueMessage
Возвращает сообщение об ошибке, если есть какая-либо проблема в сессии Cast.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getCastIssueMessage()
Возвращает
- <String>
message
: Сообщение об ошибке, если таковое имеется.
stopCasting
Останавливает трансляцию с медиа-маршрутизатора на указанное устройство, если подключено.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.stopCasting(sinkName)
Параметры
Имя | Тип | Описание |
---|---|---|
sinkName | string | Имя целевого устройства. |
shutdown
Завершение процесса ChromeDriver и, как следствие, прекращение всех активных сессий.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.shutdown()
takeElementScreenshot
Команда Take Element Screenshot делает снимок видимой области, охватываемой ограничивающим прямоугольником элемента.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.takeElementScreenshot(elementId, scroll)
Параметры
Имя | Тип | Описание |
---|---|---|
elementId | String | идентификатор элемента, возвращенный в предыдущем вызове Find Element(s) |
scroll optional | boolean | прокрутить в вид элемент. По умолчанию: true |
Возвращает
- <String>
screenshot
: Данные изображения PNG в кодировке base64, составляющие снимок видимой области ограничивающего прямоугольника элемента после того, как он был прокручен в поле зрения.
getLogTypes
Получает доступные типы логов.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getLogTypes()
Возвращает
- <String[]>
logTypes
: Список доступных типов логов, например: browser, driver.
getLogs
Получает лог для заданного типа лога. Буфер лога сбрасывается после каждого запроса.
Неофициальная и недокументированная команда Chromium. Дополнительную информацию об этой команде можно найти здесь.
Использование
browser.getLogs(type)
Параметры
Имя | Тип | Описание |
---|---|---|
type | string | тип лога |
Возвращает
- <Object[]>
logs
: Список записей лога.