Best JavaScript code snippet using appium-android-driver
actions-specs.js
Source:actions-specs.js
...271 describe('gsmVoice', function () {272 it('should call gsmVoice adb command for emulator', async function () {273 sandbox.stub(driver.adb, 'gsmVoice');274 sandbox.stub(driver, 'isEmulator').returns(true);275 await driver.gsmVoice('roaming');276 driver.adb.gsmVoice.calledWithExactly('roaming')277 .should.be.true;278 });279 it('should throw exception for real device', async function () {280 sandbox.stub(driver.adb, 'gsmVoice');281 sandbox.stub(driver, 'isEmulator').returns(false);282 await driver.gsmVoice('roaming')283 .should.be.rejectedWith('gsmVoice method is only available for emulators');284 driver.adb.gsmVoice.notCalled.should.be.true;285 });286 });287 describe('powerAC', function () {288 it('should call powerAC adb command for emulator', async function () {289 sandbox.stub(driver.adb, 'powerAC');290 sandbox.stub(driver, 'isEmulator').returns(true);291 await driver.powerAC('off');292 driver.adb.powerAC.calledWithExactly('off')293 .should.be.true;294 });295 it('should throw exception for real device', async function () {296 sandbox.stub(driver.adb, 'powerAC');...
js-oxygen.js
Source:js-oxygen.js
1import Framework from './framework';2class JsOxygenFramework extends Framework {3 get language () {4 return 'js';5 }6 get type () {7 if (this.caps && this.caps.platformName) {8 const platformName = this.caps.platformName.toLowerCase();9 if (platformName === 'windows') {10 return 'win';11 }12 if (['android', 'androiddriver'].includes(platformName)) {13 return 'mob';14 }15 if (['ios', 'iosdriver'].includes(platformName)) {16 return 'mob';17 }18 }19 return 'mob';20 }21 wrapWithBoilerplate (code) {22 if (code && code.includes('mob.open')) {23 this.caps.browserName = '__chrome_or_safari__';24 } else {25 this.caps.app = '__application_path_or_name__';26 }27 let caps = JSON.stringify(this.caps, null, 2);28 let url = JSON.stringify(`${this.scheme}://${this.host}:${this.port}${this.path}`);29 return `// Requires the Oxygen HQ client library30// (npm install oxygen-cli -g)31// Then paste this into a .js file and run with:32// oxygen <file>.js33const capabilities = ${caps};34const appiumUrl = ${url};35${this.type}.init(capabilities, appiumUrl);36${code}37`;38 }39 codeFor_executeScript (varNameIgnore, varIndexIgnore, args) {40 return `${this.type}.execute(${args})`;41 }42 codeFor_findAndAssign (strategy, locator, localVar, isArray) {43 // wdio has its own way of indicating the strategy in the locator string44 switch (strategy) {45 case 'xpath': break; // xpath does not need to be updated46 case 'accessibility id': locator = `~${locator}`; break;47 case 'id': locator = `id=${locator}`; break;48 case 'name': locator = `name=${locator}`; break;49 case 'class name': locator = `css=${locator}`; break;50 case '-android uiautomator': locator = `android=${locator}`; break;51 case '-android datamatcher': locator = `android=${locator}`; break;52 case '-ios predicate string': locator = `ios=${locator}`; break;53 case '-ios class chain': locator = `ios=${locator}`; break; // TODO: Handle IOS class chain properly. Not all libs support it. Or take it out54 default: throw new Error(`Can't handle strategy ${strategy}`);55 }56 if (isArray) {57 return `let ${localVar} = mob.findElements(${JSON.stringify(locator)});`;58 } else {59 return `let ${localVar} = mob.findElement(${JSON.stringify(locator)});`;60 }61 }62 codeFor_click (varName, varIndex) {63 return `${this.type}.click(${this.getVarName(varName, varIndex)});`;64 }65 codeFor_clear (varName, varIndex) {66 return `${this.type}.clear(${this.getVarName(varName, varIndex)});`;67 }68 codeFor_sendKeys (varName, varIndex, text) {69 return `${this.type}.type(${this.getVarName(varName, varIndex)}, ${JSON.stringify(text)});`;70 }71 codeFor_back () {72 return `${this.type}.back();`;73 }74 codeFor_tap (varNameIgnore, varIndexIgnore, x, y) {75 return `${this.type}.tap(${x}, ${y});`;76 }77 codeFor_swipe (varNameIgnore, varIndexIgnore, x1, y1, x2, y2) {78 return `${this.type}.swipeScreen(${x1}, ${y1}, ${x2}, ${y2});`;79 }80 codeFor_getCurrentActivity () {81 return `let activityName = ${this.type}.getCurrentActivity();`;82 }83 codeFor_getCurrentPackage () {84 return `let packageName = ${this.type}.getCurrentPackage();`;85 }86 codeFor_installApp (varNameIgnore, varIndexIgnore, app) {87 return `${this.type}.installApp('${app}');`;88 }89 codeFor_isAppInstalled (varNameIgnore, varIndexIgnore, app) {90 return `let isAppInstalled = ${this.type}.isAppInstalled("${app}");`;91 }92 codeFor_launchApp () {93 return `${this.type}.launchApp();`;94 }95 codeFor_background (varNameIgnore, varIndexIgnore, timeout) {96 return `${this.type}.getDriver().background(${timeout});`;97 }98 codeFor_closeApp () {99 return `${this.type}.closeApp();`;100 }101 codeFor_reset () {102 return `${this.type}.resetApp();`;103 }104 codeFor_removeApp (varNameIgnore, varIndexIgnore, app) {105 return `${this.type}.removeApp('${app}')`;106 }107 codeFor_getStrings (varNameIgnore, varIndexIgnore, language, stringFile) {108 return `let appStrings = ${this.type}.getDriver().getStrings(${language ? `${language}, ` : ''}${stringFile ? `"${stringFile}` : ''});`;109 }110 codeFor_getClipboard () {111 return `let clipboardText = ${this.type}.getDriver().getClipboard();`;112 }113 codeFor_setClipboard (varNameIgnore, varIndexIgnore, clipboardText) {114 return `${this.type}.getDriver().setClipboard('${clipboardText}')`;115 }116 codeFor_pressKeyCode (varNameIgnore, varIndexIgnore, keyCode) {117 return `${this.type}.pressKeyCode(${keyCode});`;118 }119 codeFor_longPressKeyCode (varNameIgnore, varIndexIgnore, keyCode) {120 return `${this.type}.longPressKeyCode(${keyCode});`;121 }122 codeFor_hideKeyboard () {123 return `${this.type}.hideKeyboard();`;124 }125 codeFor_isKeyboardShown () {126 return `let isKeyboardShown = ${this.type}.getDriver().isKeyboardShown();`;127 }128 codeFor_pushFile (varNameIgnore, varIndexIgnore, pathToInstallTo, fileContentString) {129 return `${this.type}.getDriver().pushFile('${pathToInstallTo}', '${fileContentString}');`;130 }131 codeFor_pullFile (varNameIgnore, varIndexIgnore, pathToPullFrom) {132 return `let fileBase64 = ${this.type}.getDriver().pullFile('${pathToPullFrom}');`;133 }134 codeFor_pullFolder (varNameIgnore, varIndexIgnore, folderToPullFrom) {135 return `let fileBase64 = ${this.type}.getDriver().pullFolder('${folderToPullFrom}');`;136 }137 codeFor_toggleAirplaneMode () {138 return `${this.type}.getDriver().toggleAirplaneMode();`;139 }140 codeFor_toggleData () {141 return `${this.type}.getDriver().toggleData();`;142 }143 codeFor_toggleWiFi () {144 return `${this.type}.getDriver().toggleWiFi();`;145 }146 codeFor_toggleLocationServices () {147 return `${this.type}.getDriver().toggleLocationServices();`;148 }149 codeFor_sendSMS (varNameIgnore, varIndexIgnore, phoneNumber, text) {150 return `${this.type}.getDriver().sendSms('${phoneNumber}', '${text}');`;151 }152 codeFor_gsmCall (varNameIgnore, varIndexIgnore, phoneNumber, action) {153 return `${this.type}.getDriver().gsmCall('${phoneNumber}', '${action}');`;154 }155 codeFor_gsmSignal (varNameIgnore, varIndexIgnore, signalStrength) {156 return `${this.type}.getDriver().gsmSignal(${signalStrength});`;157 }158 codeFor_gsmVoice (varNameIgnore, varIndexIgnore, state) {159 return `${this.type}.getDriver().gsmVoice('${state}');`;160 }161 codeFor_shake () {162 return `${this.type}.shake();`;163 }164 codeFor_lock (varNameIgnore, varIndexIgnore, seconds) {165 return `${this.type}.getDriver().lock(${seconds});`;166 }167 codeFor_unlock () {168 return `${this.type}.getDriver().unlock();`;169 }170 codeFor_isLocked () {171 return `let isLocked = ${this.type}.getDriver().isLocked();`;172 }173 codeFor_rotateDevice (varNameIgnore, varIndexIgnore, x, y, radius, rotation, touchCount, duration) {174 return `${this.type}.getDriver().rotateDevice({x: ${x}, y: ${y}, duration: ${duration}, radius: ${radius}, rotation: ${rotation}, touchCount: ${touchCount}});`;175 }176 codeFor_getPerformanceData (varNameIgnore, varIndexIgnore, packageName, dataType, dataReadTimeout) {177 return `let performanceData = ${this.type}.getDriver().getPerformanceData('${packageName}', '${dataType}', ${dataReadTimeout});`;178 }179 codeFor_getPerformanceDataTypes () {180 return `let supportedPerformanceDataTypes = ${this.type}.getDriver().getPerformanceDataTypes();`;181 }182 codeFor_touchId (varNameIgnore, varIndexIgnore, match) {183 return `${this.type}.getDriver().touchId(${match});`;184 }185 codeFor_toggleEnrollTouchId (varNameIgnore, varIndexIgnore, enroll) {186 return `${this.type}.getDriver().toggleEnrollTouchId(${enroll});`;187 }188 codeFor_openNotifications () {189 return `${this.type}.getDriver().openNotifications();`;190 }191 codeFor_getDeviceTime () {192 return `let time = ${this.type}.getDeviceTime();`;193 }194 codeFor_fingerprint (varNameIgnore, varIndexIgnore, fingerprintId) {195 return `${this.type}.getDriver().fingerPrint(${fingerprintId});`;196 }197 codeFor_getSession () {198 return `let caps = ${this.type}.getDriver().capabilities;`;199 }200 codeFor_setTimeouts (/*varNameIgnore, varIndexIgnore, timeoutsJson*/) {201 return '/* TODO implement setTimeouts */';202 }203 codeFor_setCommandTimeout () {204 return `// Not supported: setCommandTimeout`;205 }206 codeFor_getOrientation () {207 return `let orientation = ${this.type}.getDriver().getOrientation();`;208 }209 codeFor_setOrientation (varNameIgnore, varIndexIgnore, orientation) {210 return `${this.type}.getDriver().setOrientation("${orientation}");`;211 }212 codeFor_getGeoLocation () {213 return `let location = ${this.type}.getDriver().getGeoLocation();`;214 }215 codeFor_setGeoLocation (varNameIgnore, varIndexIgnore, latitude, longitude, altitude) {216 return `${this.type}.getDriver().setGeoLocation({latitude: ${latitude}, longitude: ${longitude}, altitude: ${altitude}});`;217 }218 codeFor_getLogTypes () {219 return `let getLogTypes = ${this.type}.getDriver().getLogTypes();`;220 }221 codeFor_getLogs (varNameIgnore, varIndexIgnore, logType) {222 return `let logs = ${this.type}.getDriver().getLogs('${logType}');`;223 }224 codeFor_updateSettings (varNameIgnore, varIndexIgnore, settingsJson) {225 return `${this.type}.getDriver().updateSettings(${settingsJson});`;226 }227 codeFor_getSettings () {228 return `let settings = ${this.type}.getDriver().getSettings();`;229 }230}231JsOxygenFramework.readableName = 'JS - Oxygen HQ';...
js-wd.js
Source:js-wd.js
...145 codeFor_gsmSignal (varNameIgnore, varIndexIgnore, signalStrength) {146 return `await driver.gsmSignal(${signalStrength});`;147 }148 codeFor_gsmVoice (varNameIgnore, varIndexIgnore, state) {149 return `await driver.gsmVoice('${state}');`;150 }151 codeFor_shake () {152 return `await driver.shake();`;153 }154 codeFor_lock (varNameIgnore, varIndexIgnore, seconds) {155 return `await driver.lock(${seconds})`;156 }157 codeFor_unlock () {158 return `await driver.unlock()`;159 }160 codeFor_isLocked () {161 return `let isLocked = await driver.isLocked();`;162 }163 codeFor_rotateDevice (varNameIgnore, varIndexIgnore, x, y, radius, rotation, touchCount, duration) {...
Using AI Code Generation
1var wd = require('wd');2var assert = require('assert');3var driver = wd.promiseChainRemote("localhost", 4723);4driver.on('status', function(info) {5 console.log('\x1b[36m%s\x1b[0m', info);6});7driver.on('command', function(meth, path, data) {8 console.log(' > \x1b[33m%s\x1b[0m: %s', meth, path, data || '');9});10driver.on('http', function(meth, path, data) {11 console.log(' > \x1b[90m%s\x1b[0m %s %s', meth, path, data || '');12});13 .init({
Using AI Code Generation
1var wd = require('wd');2var driver = wd.promiseChainRemote("localhost", 4723);3driver.init({4}).then(function() {5 driver.gsmVoice(true);6});7driver.gsmVoice(false);
Using AI Code Generation
1driver.gsmVoice("5551234567", "Hello, world!");2driver.gsmVoice("5551234567", "Hello, world!");3driver.gsmVoice("5551234567", "Hello, world!");4driver.gsmCall("5551234567", "5551234568", "GSM");5driver.gsmCall("5551234567", "5551234568", "GSM");6driver.gsmCall("5551234567", "5551234568", "GSM");7driver.gsmSignal(4);8driver.gsmSignal(4);9driver.gsmSignal(4);10driver.gsmVoiceState("5551234567", true);11driver.gsmVoiceState("5551234567", true);12driver.gsmVoiceState("5551234567", true);13driver.gsmData("5551234567", true);14driver.gsmData("5551234567", true);15driver.gsmData("5551234567", true);16driver.toggleData();17driver.toggleData();18driver.toggleData();19driver.toggleWiFi();20driver.toggleWiFi();21driver.toggleWiFi();22driver.toggleAirplaneMode();
Using AI Code Generation
1var driver = new AndroidDriver();2driver.gsmVoice('555-555-5555', 'Hello World', '555-555-5556', function(err) {3 if(err) {4 console.log(err);5 } else {6 console.log('Success');7 }8});9AndroidDriver.prototype.gsmVoice = function(number, text, callerId, cb) {10 this.proxy(['POST', '/gsm/voice', {number: number, text: text, callerId: callerId}], cb);11};12AndroidDriver.prototype.proxy = function(args, cb) {13}14The proxy() method calls the doProxy() method. The doProxy() method is defined in proxy.js. The doProxy() method is called with the
Using AI Code Generation
1var driver = new AndroidDriver();2driver.gsmVoice(1);3Exception in thread "main" java.lang.NoSuchMethodError: io.appium.java_client.AppiumDriver.gsmVoice(I)V4at test.main(test.java:9)5I have imported the following jar files:6var driver = new AndroidDriver();7driver.gsmVoice(1);8Exception in thread "main" java.lang.NoSuchMethodError: io.appium.java_client.AppiumDriver.gsmVoice(I)V9at test.main(test.java:9)10I have imported the following jar files:
Using AI Code Generation
1module.exports = function(driver) {2 driver.gsmVoice('5551234567');3};4module.exports = function(driver) {5 driver.gsmVoice('5551234567');6};7module.exports = function(driver) {8 driver.gsmVoice('5551234567');9};10module.exports = function(driver) {11 driver.gsmVoice('5551234567');12};13module.exports = function(driver) {14 driver.gsmVoice('5551234567');15};
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!!