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 |