Best JavaScript code snippet using root
RuntimeDevice.test.js
Source:RuntimeDevice.test.js
...50 this.driver.getBundleIdFromBinary(),51 expect.objectContaining(expectedArgs),52 undefined);53 }54 expectWaitForLaunchCalled(bundleId, expectedArgs, languageAndLocale) {55 expect(this.driver.waitForAppLaunch).toHaveBeenCalledWith(bundleId, expectedArgs, languageAndLocale);56 }57 expectReinstallCalled() {58 expect(this.driver.uninstallApp).toHaveBeenCalled();59 expect(this.driver.installApp).toHaveBeenCalled();60 }61 expectReinstallNotCalled() {62 expect(this.driver.uninstallApp).not.toHaveBeenCalled();63 expect(this.driver.installApp).not.toHaveBeenCalled();64 }65 expectTerminateCalled() {66 expect(this.driver.terminate).toHaveBeenCalled();67 }68 expectTerminateNotCalled() {69 expect(this.driver.terminate).not.toHaveBeenCalled();70 }71 expectReverseTcpPortCalled(port) {72 expect(this.driver.reverseTcpPort).toHaveBeenCalledWith(port);73 }74 expectUnreverseTcpPortCalled(port) {75 expect(this.driver.unreverseTcpPort).toHaveBeenCalledWith(port);76 }77 }78 function aDevice(overrides) {79 const appsConfig = overrides.appsConfig || {};80 errorComposer = new DetoxRuntimeErrorComposer({ appsConfig });81 const device = new RuntimeDevice({82 appsConfig,83 behaviorConfig: {},84 deviceConfig: {},85 sessionConfig: {},86 runtimeErrorComposer: errorComposer,87 eventEmitter: emitter,88 ...overrides,89 }, driverMock.driver);90 device.deviceDriver.getBundleIdFromBinary.mockReturnValue(bundleId);91 return device;92 }93 function aValidUnpreparedDevice(overrides) {94 const configs = _.merge(_.cloneDeep({95 appsConfig: {96 default: configurationsMock.appWithRelativeBinaryPath,97 },98 deviceConfig: configurationsMock.iosSimulatorWithShorthandQuery,99 sessionConfig: configurationsMock.validSession,100 }), overrides);101 if (overrides && overrides.appsConfig === null) {102 configs.appsConfig = {};103 }104 return aDevice(configs);105 }106 async function aValidDevice(overrides) {107 const device = aValidUnpreparedDevice(overrides);108 await device._prepare();109 return device;110 }111 async function aValidDeviceWithLaunchArgs(launchArgs) {112 return await aValidDevice({113 appsConfig: {114 default: {115 launchArgs,116 },117 },118 });119 }120 it('should return the name from the driver', async () => {121 driverMock.driver.getDeviceName.mockReturnValue('mock-device-name-from-driver');122 const device = await aValidDevice();123 expect(device.name).toEqual('mock-device-name-from-driver');124 });125 it('should return the type from the configuration', async () => {126 const device = await aValidDevice();127 expect(device.type).toEqual('ios.simulator');128 });129 it('should return the device ID, as provided by acquireFreeDevice', async () => {130 const device = await aValidUnpreparedDevice();131 await device._prepare();132 driverMock.driver.getExternalId.mockReturnValue('mockExternalId');133 expect(device.id).toEqual('mockExternalId');134 driverMock.expectExternalIdCalled();135 });136 describe('selectApp()', () => {137 let device;138 describe('when there is a single app', () => {139 beforeEach(async () => {140 device = await aValidUnpreparedDevice();141 jest.spyOn(device, 'selectApp');142 await device._prepare();143 });144 it(`should select the default app upon prepare()`, async () => {145 expect(device.selectApp).toHaveBeenCalledWith('default');146 });147 it(`should function as usual when the app is selected`, async () => {148 await device.launchApp();149 expect(driverMock.driver.launchApp).toHaveBeenCalled();150 });151 it(`should throw on call without args`, async () => {152 await expect(device.selectApp()).rejects.toThrowError(errorComposer.cantSelectEmptyApp());153 });154 it(`should throw on app interactions with no selected app`, async () => {155 await device.selectApp(null);156 await expect(device.launchApp()).rejects.toThrowError(errorComposer.appNotSelected());157 });158 it(`should throw on attempt to select a non-existent app`, async () => {159 await expect(device.selectApp('nonExistent')).rejects.toThrowError();160 });161 });162 describe('when there are multiple apps', () => {163 beforeEach(async () => {164 device = await aValidUnpreparedDevice({165 appsConfig: {166 withBinaryPath: {167 binaryPath: 'path/to/app',168 },169 withBundleId: {170 binaryPath: 'path/to/app2',171 bundleId: 'com.app2'172 },173 },174 });175 jest.spyOn(device, 'selectApp');176 driverMock.driver.getBundleIdFromBinary.mockReturnValue('com.app1');177 await device._prepare();178 });179 it(`should not select the app at all`, async () => {180 expect(device.selectApp).not.toHaveBeenCalled();181 });182 it(`upon select, it should infer bundleId if it is missing`, async () => {183 await device.selectApp('withBinaryPath');184 expect(driverMock.driver.getBundleIdFromBinary).toHaveBeenCalledWith('path/to/app');185 });186 it(`upon select, it should terminate the previous app`, async () => {187 jest.spyOn(device, 'terminateApp');188 await device.selectApp('withBinaryPath');189 expect(device.terminateApp).not.toHaveBeenCalled(); // because no app was running before190 await device.selectApp('withBundleId');191 expect(device.terminateApp).toHaveBeenCalled(); // because there is a running app192 });193 it(`upon select, it should not infer bundleId if it is specified`, async () => {194 await device.selectApp('withBundleId');195 expect(driverMock.driver.getBundleIdFromBinary).not.toHaveBeenCalled();196 });197 it(`upon re-selecting the same app, it should not infer bundleId twice`, async () => {198 await device.selectApp('withBinaryPath');199 await device.selectApp('withBundleId');200 await device.selectApp('withBinaryPath');201 expect(driverMock.driver.getBundleIdFromBinary).toHaveBeenCalledTimes(1);202 });203 });204 describe('when there are no apps', () => {205 beforeEach(async () => {206 device = await aValidUnpreparedDevice({207 appsConfig: null208 });209 jest.spyOn(device, 'selectApp');210 await device._prepare();211 });212 it(`should not select the app at all`, async () => {213 expect(device.selectApp).not.toHaveBeenCalled();214 });215 it(`should be able to execute actions with an explicit bundleId`, async () => {216 const bundleId = 'com.example.app';217 jest.spyOn(device, 'terminateApp');218 await device.uninstallApp(bundleId);219 expect(driverMock.driver.uninstallApp).toHaveBeenCalledWith(bundleId);220 await device.installApp('/tmp/app', '/tmp/app-test');221 expect(driverMock.driver.installApp).toHaveBeenCalledWith('/tmp/app', '/tmp/app-test');222 await device.launchApp({}, bundleId);223 expect(driverMock.driver.launchApp).toHaveBeenCalledWith(bundleId, expect.anything(), undefined);224 await device.terminateApp(bundleId);225 expect(driverMock.driver.terminate).toHaveBeenCalledWith(bundleId);226 await device.uninstallApp(bundleId);227 expect(driverMock.driver.uninstallApp).toHaveBeenCalledWith(bundleId);228 });229 });230 });231 describe('re/launchApp()', () => {232 const expectedDriverArgs = {233 'detoxServer': 'ws://localhost:8099',234 'detoxSessionId': 'test',235 };236 it(`with no args should launch app with defaults`, async () => {237 const expectedArgs = expectedDriverArgs;238 const device = await aValidDevice();239 await device.launchApp();240 driverMock.expectLaunchCalledWithArgs(bundleId, expectedArgs);241 });242 it(`given behaviorConfig.launchApp == 'manual' should wait for the app launch`, async () => {243 const expectedArgs = expectedDriverArgs;244 const device = await aValidDevice({245 behaviorConfig: { launchApp: 'manual' }246 });247 await device.launchApp();248 expect(driverMock.driver.launchApp).not.toHaveBeenCalled();249 driverMock.expectWaitForLaunchCalled(bundleId, expectedArgs);250 });251 it(`args should launch app and emit appReady`, async () => {252 driverMock.driver.launchApp = async () => 42;253 const device = await aValidDevice();254 await device.launchApp();255 expect(emitter.emit).toHaveBeenCalledWith('appReady', {256 deviceId: device.id,257 bundleId: device._bundleId,258 pid: 42,259 });260 });261 it(`(relaunch) with no args should use defaults`, async () => {262 const expectedArgs = expectedDriverArgs;263 const device = await aValidDevice();...
Using AI Code Generation
1var rootWindow = UIATarget.localTarget().frontMostApp().windows()[0];2rootWindow.expectWaitForLaunchCalled();3var window = UIATarget.localTarget().frontMostApp().windows()[1];4window.expectWaitForLaunchCalled();5var element = UIATarget.localTarget().frontMostApp().windows()[1].buttons()[0];6element.expectWaitForLaunchCalled();7var rootElement = UIATarget.localTarget().frontMostApp().windows()[0].buttons()[0];8rootElement.expectWaitForLaunchCalled();9var alert = UIATarget.localTarget().frontMostApp().alert();10alert.expectWaitForLaunchCalled();11var actionSheet = UIATarget.localTarget().frontMostApp().actionSheet();12actionSheet.expectWaitForLaunchCalled();13var navigationBar = UIATarget.localTarget().frontMostApp().navigationBar();14navigationBar.expectWaitForLaunchCalled();15var tabBar = UIATarget.localTarget().frontMostApp().tabBar();16tabBar.expectWaitForLaunchCalled();17var toolBar = UIATarget.localTarget().frontMostApp().toolBar();18toolBar.expectWaitForLaunchCalled();19var pickerWheel = UIATarget.localTarget().frontMostApp().windows()[0].pickerWheels()[0];20pickerWheel.expectWaitForLaunchCalled();21var scrollView = UIATarget.localTarget().frontMostApp().windows()[0].scrollViews()[0];22scrollView.expectWaitForLaunchCalled();23var searchField = UIATarget.localTarget().frontMostApp().windows()[0].searchBars()[0].searchFields()[0];24searchField.expectWaitForLaunchCalled();
Using AI Code Generation
1var rootElement = UIATarget.localTarget().frontMostApp().mainWindow();2rootElement.expectWaitForLaunchCalled();3var target = UIATarget.localTarget();4target.expectWaitForLaunchCalled();5var target = UIATarget.localTarget();6target.expectWaitForLaunchCalled();7var target = UIATarget.localTarget();8target.expectWaitForLaunchCalled();9var target = UIATarget.localTarget();10target.expectWaitForLaunchCalled();11var target = UIATarget.localTarget();12target.expectWaitForLaunchCalled();13var target = UIATarget.localTarget();14target.expectWaitForLaunchCalled();15var target = UIATarget.localTarget();16target.expectWaitForLaunchCalled();17var target = UIATarget.localTarget();18target.expectWaitForLaunchCalled();19var target = UIATarget.localTarget();20target.expectWaitForLaunchCalled();21var target = UIATarget.localTarget();22target.expectWaitForLaunchCalled();23var target = UIATarget.localTarget();24target.expectWaitForLaunchCalled();25var target = UIATarget.localTarget();26target.expectWaitForLaunchCalled();27var target = UIATarget.localTarget();28target.expectWaitForLaunchCalled();
Using AI Code Generation
1var rootElement = UIATarget.localTarget().frontMostApp().mainWindow();2rootElement.expectWaitForLaunchCalled();3var element = UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0];4element.expectWaitForLaunchCalled();5var elements = UIATarget.localTarget().frontMostApp().mainWindow().buttons();6elements.expectWaitForLaunchCalled();7var target = UIATarget.localTarget();8target.expectWaitForLaunchCalled();9var frontMostApp = UIATarget.localTarget().frontMostApp();10frontMostApp.expectWaitForLaunchCalled();11var mainWindow = UIATarget.localTarget().frontMostApp().mainWindow();12mainWindow.expectWaitForLaunchCalled();13var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0];14button.expectWaitForLaunchCalled();15var buttons = UIATarget.localTarget().frontMostApp().mainWindow().buttons();16buttons.expectWaitForLaunchCalled();17var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons().firstWithPredicate("name contains 'Button'");18button.expectWaitForLaunchCalled();19var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons().firstWithName("Button");20button.expectWaitForLaunchCalled();21var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons().firstWithValueForKey("Button", "name");22button.expectWaitForLaunchCalled();
Using AI Code Generation
1var rootview = require('ui/rootView');2var expectWaitForLaunchCalled = rootview.expectWaitForLaunchCalled;3expectWaitForLaunchCalled();4exports.expectWaitForLaunchCalled = function() {5 console.log("expectWaitForLaunchCalled called");6}7var rootview = require('ui/rootView');8var expectWaitForLaunchCalled = rootview.expectWaitForLaunchCalled;9expectWaitForLaunchCalled();10var coreModules = require('tns-core-modules');11coreModules.moduleNameResolver.clearCache('ui/rootView');12exports.expectWaitForLaunchCalled = function() {13 console.log("expectWaitForLaunchCalled called");14}15var coreModules = require('tns-core-modules');16coreModules.moduleNameResolver.clear();
Using AI Code Generation
1import { Application } from "spectron";2import { expect } from "chai";3const app = new Application({4});5describe("Application launch", function() {6 this.timeout(10000);7 beforeEach(() => app.start());8 afterEach(() => app.stop());9 it("shows an initial window", () => {10 .getWindowCount()11 .then(count => {12 expect(count).to.equal(1);13 })14 .browserWindow.isMinimized()15 .then(minimized => {16 expect(minimized).to.be.false;17 })18 .browserWindow.isVisible()19 .then(visible => {20 expect(visible).to.be.true;21 })22 .browserWindow.getBounds()23 .then(bounds => {24 expect(bounds.width).to.be.above(0);25 expect(bounds.height).to.be.above(0);26 })27 .browserWindow.isDevToolsOpened()28 .then(opened => {29 expect(opened).to.be.false;30 })31 .browserWindow.isFocused()32 .then(focused => {33 expect(focused).to.be.true;34 });35 });36});37import { Application } from "spectron";38import { expect } from "chai";39const app = new Application({40});41describe("Application launch", function() {42 this.timeout(10000);43 beforeEach(() => app.start());44 afterEach(() => app.stop());45 it("shows an initial window", () => {46 .getWindowCount()47 .then(count => {48 expect(count).to.equal(1);49 })50 .browserWindow.isMinimized()51 .then(minimized => {52 expect(minimized).to.be.false;53 })54 .browserWindow.isVisible()55 .then(visible => {56 expect(visible).to.be.true;57 })
Using AI Code Generation
1var win = Ti.UI.createWindow({2});3var label = Ti.UI.createLabel({text:'hello'});4win.add(label);5win.open();6var win = Ti.UI.createWindow({7});8var label = Ti.UI.createLabel({text:'hello'});9win.add(label);10win.open();11var win = Ti.UI.createWindow({12});13var label = Ti.UI.createLabel({text:'hello'});14win.add(label);15win.open();16var win = Ti.UI.createWindow({17});18var label = Ti.UI.createLabel({text:'hello'});19win.add(label);20win.open();21var win = Ti.UI.createWindow({22});23var label = Ti.UI.createLabel({text:'hello'});24win.add(label);25win.open();26var win = Ti.UI.createWindow({27});28var label = Ti.UI.createLabel({text:'hello'});29win.add(label);30win.open();31var win = Ti.UI.createWindow({32});33var label = Ti.UI.createLabel({text:'hello'});34win.add(label);35win.open();
Using AI Code Generation
1var rootPage = require("../../rootPage");2var test = require("../../test");3var waitTime = 5000;4test("test", function () {5 rootPage.expectWaitForLaunchCalled(waitTime);6});7var test = require("../../test");8exports.expectWaitForLaunchCalled = function (waitTime) {9 test.waitForLaunch(waitTime);10};11exports.waitForLaunch = function (waitTime) {12};
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!!