UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

31 lines (28 loc) 1.08 kB
import {BatteryInfoClient, type AdvancedBatteryInfo} from '../device/battery-info-client'; import {isIos18OrNewer} from './helpers'; import type {XCUITestDriver} from '../driver'; import type {BatteryInfo} from './types'; /** * Reads the battery information from the device under test. * * This endpoint only returns reliable result on real devices. * * @returns Battery information with advanced details */ export async function mobileGetBatteryInfo( this: XCUITestDriver, ): Promise<BatteryInfo & {advanced: AdvancedBatteryInfo}> { let batteryInfoFromShimService: AdvancedBatteryInfo = {}; if (isIos18OrNewer(this.opts) && this.isRealDevice()) { try { batteryInfoFromShimService = await new BatteryInfoClient(this.device.udid).getAdvancedInfo(); } catch (err: any) { this.log.error(`Failed to get battery info from DiagnosticsService: ${err.message}`); } } const batteryInfoFromWda = await this.proxyCommand<any, BatteryInfo>('/wda/batteryInfo', 'GET'); return { ...batteryInfoFromWda, advanced: batteryInfoFromShimService, }; }