UNPKG

appium-uiautomator2-driver

Version:
32 lines (26 loc) 904 B
import {ADB} from 'appium-adb'; import {logger} from 'appium/support.js'; const log = logger.getLogger('UIA2Reset'); const SERVER_PKGS = [ 'io.appium.uiautomator2.server', 'io.appium.uiautomator2.server.test', 'io.appium.settings', ]; async function runReset() { const adb = await ADB.createADB(); const udids = (await adb.getConnectedDevices()) .filter(({state}) => state === 'device') .map(({udid}) => udid); if (0 === udids.length) { return; } log.info(`About to perform reset for the following device${udids.length === 1 ? '' : 's'}: ${udids}`); const uninstallPromises = []; for (const udid of udids) { const deviceAdb = udids.length === 1 ? adb : await ADB.createADB(); deviceAdb.setDeviceId(udid); uninstallPromises.push(...SERVER_PKGS.map((pkgId) => deviceAdb.uninstallApk(pkgId))); } await Promise.all(uninstallPromises); } await runReset();