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