UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

41 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mobileGetBatteryInfo = mobileGetBatteryInfo; const utils_1 = require("../utils"); /** * Reads the battery information from the device under test. * * This endpoint only returns reliable result on real devices. * * @returns Battery information with advanced details */ async function mobileGetBatteryInfo() { let batteryInfoFromShimService; if ((0, utils_1.isIos18OrNewer)(this.opts) && this.isRealDevice()) { let remoteXPCConnection; try { const { Services } = await import('appium-ios-remotexpc'); const { diagnosticsService, remoteXPC } = await Services.startDiagnosticsService(this.device.udid); remoteXPCConnection = remoteXPC; batteryInfoFromShimService = await diagnosticsService.ioregistry({ ioClass: 'IOPMPowerSource', returnRawJson: true, }); } catch (err) { this.log.error(`Failed to get battery info from DiagnosticsService: ${err.message}`); } finally { if (remoteXPCConnection) { this.log.info(`Closing remoteXPC connection for device ${this.device.udid}`); await remoteXPCConnection.close(); } } } const batteryInfoFromWda = await this.proxyCommand('/wda/batteryInfo', 'GET'); return { ...batteryInfoFromWda, advanced: batteryInfoFromShimService || {}, }; } //# sourceMappingURL=battery.js.map