appium-uiautomator2-driver
Version:
UiAutomator2 integration for Appium
32 lines (26 loc) • 904 B
JavaScript
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();