UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

33 lines (30 loc) 1.09 kB
import {BatteryInfoClient, type AdvancedBatteryInfo} from '../device/battery-info-client'; 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 (await this.remoteXPCFacade.determineAvailability()) { try { batteryInfoFromShimService = await new BatteryInfoClient( this.device.udid, this.remoteXPCFacade, ).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, }; }