Best JavaScript code snippet using root
macaca-android.js
Source:macaca-android.js
...57Android.prototype.stopDevice = function * () {58 this.chromedriver && this.chromedriver.stop();59 if (this.isVirtual && this.args.reuse === reuseStatus.noReuse) {60 return ADB61 .emuKill()62 .catch(e => {63 logger.warn(e);64 });65 }66 return Promise.resolve();67};68Android.prototype.isProxy = function() {69 return !!this.proxy;70};71Android.prototype.whiteList = function(context) {72 var basename = path.basename(context.url);73 const whiteList = [74 'context',75 'contexts',...
EmulatorLauncher.test.js
Source:EmulatorLauncher.test.js
1// @ts-nocheck2describe('Emulator launcher', () => {3 const avdName = 'Pixel_Mock';4 const adbName = 'mock-emulator:1234';5 let retry;6 let eventEmitter;7 let emulatorExec;8 let adb;9 let launchEmulatorProcess;10 let uut;11 beforeEach(() => {12 jest.mock('../../../../../utils/logger');13 jest.mock('../../../../../utils/retry');14 retry = require('../../../../../utils/retry');15 retry.mockImplementation((options, func) => func());16 jest.mock('../../../../../utils/trace', () => ({17 traceCall: jest.fn().mockImplementation((__, func) => func()),18 }));19 const ADB = jest.genMockFromModule('../../../../common/drivers/android/exec/ADB');20 adb = new ADB();21 adb.isBootComplete.mockReturnValue(true);22 const AsyncEmitter = jest.genMockFromModule('../../../../../utils/AsyncEmitter');23 eventEmitter = new AsyncEmitter();24 const { EmulatorExec } = jest.genMockFromModule('../../../../common/drivers/android/emulator/exec/EmulatorExec');25 emulatorExec = new EmulatorExec();26 jest.mock('./launchEmulatorProcess');27 launchEmulatorProcess = require('./launchEmulatorProcess').launchEmulatorProcess;28 const EmulatorLauncher = require('./EmulatorLauncher');29 uut = new EmulatorLauncher({30 adb,31 emulatorExec,32 eventEmitter,33 });34 });35 const expectDeviceBootEvent = (coldBoot) =>36 expect(eventEmitter.emit).toHaveBeenCalledWith('bootDevice', {37 coldBoot,38 deviceId: adbName,39 type: avdName,40 });41 const expectNoDeviceBootEvent = () => expect(eventEmitter.emit).not.toHaveBeenCalled();42 describe('launch', () => {43 const givenDeviceBootCompleted = () => adb.isBootComplete.mockResolvedValue(true);44 const givenDeviceBootIncomplete = () => adb.isBootComplete.mockResolvedValue(false);45 const givenDeviceBootCheckError = () => adb.isBootComplete.mockRejectedValue(new Error());46 describe('given an emulator that is not currently running', () => {47 const isRunning = false;48 it('should launch the specified emulator in a separate process', async () => {49 await uut.launch(avdName, adbName, isRunning);50 expect(launchEmulatorProcess).toHaveBeenCalledWith(avdName, emulatorExec, expect.anything());51 });52 it('should launch using a specific emulator port, if provided', async () => {53 const port = 1234;54 await uut.launch(avdName, adbName, isRunning, { port });55 const mockedCall = launchEmulatorProcess.mock.calls[0];56 const commandArg = mockedCall[2];57 expect(commandArg.port).toEqual(port);58 });59 it('should retry emulator process launching with custom args', async () => {60 const expectedRetryOptions = {61 retries: 2,62 interval: 100,63 };64 await uut.launch(avdName, adbName, isRunning);65 expect(retry).toHaveBeenCalledWith(66 expect.objectContaining(expectedRetryOptions),67 expect.any(Function),68 );69 });70 it('should retry emulator process launching with a conditional to check whether error was specified through binary as unknown', async () => {71 const messageUnknownError = 'failed with code null';72 await uut.launch(avdName, adbName, isRunning);73 const mockedCallToRetry = retry.mock.calls[0];74 const callOptions = mockedCallToRetry[0];75 expect(callOptions.conditionFn).toBeDefined();76 expect(callOptions.conditionFn(new Error(messageUnknownError))).toEqual(true);77 expect(callOptions.conditionFn(new Error('other error message'))).toEqual(false);78 expect(callOptions.conditionFn(new Error())).toEqual(false);79 });80 it('should poll for boot completion', async () => {81 givenDeviceBootCompleted();82 retry83 .mockImplementationOnce((options, func) => func())84 .mockImplementationOnce(async (options, func) => {85 expect(adb.isBootComplete).not.toHaveBeenCalled();86 await func();87 expect(adb.isBootComplete).toHaveBeenCalledWith(adbName);88 });89 await uut.launch(avdName, adbName, isRunning);90 expect(retry).toHaveBeenCalledTimes(2);91 });92 it('should throw if boot completion check returns negative', async () => {93 givenDeviceBootIncomplete();94 try {95 await uut.launch(avdName, adbName, isRunning);96 } catch (e) {97 expect(e.constructor.name).toEqual('DetoxRuntimeError');98 expect(e.toString()).toContain(`Waited for ${adbName} to complete booting for too long!`);99 return;100 }101 throw new Error('Expected an error');102 });103 it('should call retry for boot completion - with decent options', async () => {104 const expectedRetryOptions = {105 retries: 240,106 interval: 2500,107 };108 givenDeviceBootCompleted();109 await uut.launch(avdName, adbName, isRunning);110 expect(retry).toHaveBeenCalledWith(111 expect.objectContaining(expectedRetryOptions),112 expect.any(Function)113 );114 });115 it('should emit boot event with coldBoot=true', async () => {116 givenDeviceBootCompleted();117 await uut.launch(avdName, adbName, isRunning);118 expectDeviceBootEvent(true);119 });120 it('should not emit boot event for an already-running emulator (implicit call-order check)', async () => {121 givenDeviceBootCheckError();122 try {123 await uut.launch(avdName, adbName, isRunning);124 } catch (e) {}125 expectNoDeviceBootEvent(true);126 });127 });128 describe('given an emulator that *is* already running', () => {129 const isRunning = true;130 it('should not launch emulator', async () => {131 await uut.launch(avdName, adbName, isRunning);132 expect(launchEmulatorProcess).not.toHaveBeenCalled();133 });134 it('should poll for boot completion even if emulator is already running', async () => {135 const isRunning = true;136 await uut.launch(avdName, adbName, isRunning);137 expect(adb.isBootComplete).toHaveBeenCalledWith(adbName);138 });139 it('should emit boot event with coldBoot=false', async () => {140 givenDeviceBootCompleted();141 await uut.launch(avdName, adbName, isRunning);142 expectDeviceBootEvent(false);143 });144 });145 });146 describe('shutdown', () => {147 beforeEach(() => {148 retry.mockImplementation(async ({ retries }, func) => {149 while (retries > 0) {150 try {151 return await func();152 } catch (e) {153 if (!--retries) throw e;154 }155 }156 });157 });158 describe('if it goes as expected', () => {159 beforeEach(async () => {160 adb.getState.mockResolvedValueOnce('device');161 adb.getState.mockResolvedValueOnce('offline');162 adb.getState.mockResolvedValueOnce('none');163 await uut.shutdown(avdName);164 });165 it('should kill device via adb', async () => {166 expect(adb.emuKill).toHaveBeenCalledWith(avdName);167 });168 it('should wait until the device cannot be found', async () => {169 expect(adb.getState).toHaveBeenCalledTimes(3);170 });171 it('should emit associated events', async () => {172 expect(eventEmitter.emit).toHaveBeenCalledWith('beforeShutdownDevice', { deviceId: avdName });173 expect(eventEmitter.emit).toHaveBeenCalledWith('shutdownDevice', { deviceId: avdName });174 });175 });176 describe('if shutdown does not go well', () => {177 beforeEach(async () => {178 adb.getState.mockResolvedValue('offline');179 await expect(uut.shutdown(avdName)).rejects.toThrowError(new RegExp(`Failed to shut down.*${avdName}`));180 });181 it('should keep polling the emulator status until it is "none"', async () => {182 expect(adb.getState).toHaveBeenCalledTimes(5);183 });184 it('should not emit shutdownDevice prematurely', async () => {185 expect(eventEmitter.emit).toHaveBeenCalledTimes(1);186 expect(eventEmitter.emit).toHaveBeenCalledWith('beforeShutdownDevice', expect.any(Object));187 expect(eventEmitter.emit).not.toHaveBeenCalledWith('shutdownDevice', expect.any(Object));188 });189 });190 });...
EmulatorLauncher.js
Source:EmulatorLauncher.js
...36 await this._notifyBootEvent(adbName, avdName, !isRunning);37 }38 async shutdown(adbName) {39 await this._notifyPreShutdown(adbName);40 await this._adb.emuKill(adbName);41 await retry({42 retries: 5,43 interval: 1000,44 initialSleep: 2000,45 }, async () => {46 if (await this._adb.getState(adbName) !== 'none') {47 throw new DetoxRuntimeError({48 message: `Failed to shut down the emulator ${adbName}`,49 hint: `Try terminating manually all processes named "qemu-system-x86_64"`,50 });51 }52 });53 await this._notifyShutdownCompleted(adbName);54 }...
Using AI Code Generation
1var emuKill = require('root').emuKill;2emuKill('process name');3var emuKillAll = require('root').emuKillAll;4emuKillAll();5var emuKillAllExcept = require('root').emuKillAllExcept;6emuKillAllExcept('process name');7var emuKillAllExcept = require('root').emuKillAllExcept;8emuKillAllExcept('process name');9var emuReboot = require('root').emuReboot;10emuReboot();11var emuShutdown = require('root').emuShutdown;12emuShutdown();13var emuSuspend = require('root').emuSuspend;14emuSuspend();15var emuWakeUp = require('root').emuWakeUp;16emuWakeUp();17var getEmuBatteryInfo = require('root').getEmuBatteryInfo;18getEmuBatteryInfo();
Using AI Code Generation
1var root = require('root');2root.emuKill();3## emuKill() method4## emuLaunch() method5## emuRestart() method6## emuShutdown() method7## emuStart() method8## emuStop() method9## emuWipeData() method10## emuWipe() method11## emuWipeSDCard() method12## emuWipeUserData() method13## emuWipe() method
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!