How to use driver.getPerformanceData method in Appium Android Driver

Best JavaScript code snippet using appium-android-driver

Appium JS commands.js

Source:Appium JS commands.js Github

copy

Full Screen

...239// wd example240await driver.toggleWiFi();241//PerformanceData242// webdriver.io example243driver.getPerformanceData('my.app.package', 'cpuinfo', 5);244// wd example245await driver.getPerformanceData('my.app.package', 'cpuinfo', 5);246// webdriver.io example247driver.getPerformanceDataTypes();248// wd example249await driver.getSupportedPerformanceDataTypes();250//ScreenRecording251// webdriver.io example252driver.startRecordingScreen();253//Elements254// webdriver.io example255$("~SomeAccessibilityId");256// wd example257let elementOne = await driver.elementByAccessibilityId("SomeAccessibilityID");258let elementTwo = await driver.element("id", "SomeID");259// webdriver.io example...

Full Screen

Full Screen

java.js

Source:java.js Github

copy

Full Screen

...198 codeFor_rotateDevice (varNameIgnore, varIndexIgnore, x, y, radius, rotation, touchCount, duration) {199 return `driver.rotate(new DeviceRotation(${x}, ${y}, ${radius}, ${rotation}, ${touchCount}, ${duration}));`;200 }201 codeFor_getPerformanceData (varNameIgnore, varIndexIgnore, packageName, dataType, dataReadTimeout) {202 return `List<List<Object>> performanceData = driver.getPerformanceData("${packageName}", "${dataType}", ${dataReadTimeout});`;203 }204 codeFor_getSupportedPerformanceDataTypes () {205 return `List<String> performanceTypes = driver.getSupportedPerformanceDataTypes();`;206 }207 codeFor_performTouchId (varNameIgnore, varIndexIgnore, match) {208 return `driver.performTouchID(${match});`;209 }210 codeFor_toggleTouchIdEnrollment (varNameIgnore, varIndexIgnore, enroll) {211 return `driver.toggleTouchIDEnrollment(${enroll});`;212 }213 codeFor_openNotifications () {214 return `driver.openNotifications();`;215 }216 codeFor_getDeviceTime () {...

Full Screen

Full Screen

js-oxygen.js

Source:js-oxygen.js Github

copy

Full Screen

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';...

Full Screen

Full Screen

performance-specs.js

Source:performance-specs.js Github

copy

Full Screen

...36 });37 describe('getPerformanceData', function () {38 it('should return battery info', async function () {39 sandbox.stub(driver, 'getBatteryInfo').returns('data');40 await driver.getPerformanceData(null, 'batteryinfo').should.become('data');41 });42 it('should return cpu info', async function () {43 sandbox.stub(driver, 'getCPUInfo').withArgs('pkg').returns('data');44 await driver.getPerformanceData('pkg', 'cpuinfo').should.become('data');45 });46 it('should return memory info', async function () {47 sandbox.stub(driver, 'getMemoryInfo').withArgs('pkg').returns('data');48 await driver.getPerformanceData('pkg', 'memoryinfo').should.become('data');49 });50 it('should return network info', async function () {51 sandbox.stub(driver, 'getNetworkTrafficInfo').returns('data');52 await driver.getPerformanceData(null, 'networkinfo').should.become('data');53 });54 it('should throw error if data type is not valid', async function () {55 await driver.getPerformanceData(null, 'invalid')56 .should.be.rejectedWith(/No performance data of type 'invalid' found./);57 });58 });59 describe('getCPUInfo', function () {60 it('should return cpu data', async function () {61 adb.shell.withArgs(['dumpsys', 'cpuinfo', '|', 'grep', `'${PACKAGE_NAME}'`])62 .returns(' +0% 2209/io.appium.android.apis: 14% user + 23% kernel');63 (await driver.getCPUInfo(PACKAGE_NAME)).should.be.deep64 .equal([CPU_KEYS, ['14', '23']]);65 asyncbox.retryInterval.calledWith(RETRY_COUNT, RETRY_PAUSE).should.be.true;66 });67 it('should throw error if no data', async function () {68 adb.shell.returns(null);69 await driver.getCPUInfo(PACKAGE_NAME, 1).should.be...

Full Screen

Full Screen

js-wd.js

Source:js-wd.js Github

copy

Full Screen

...163 codeFor_rotateDevice (varNameIgnore, varIndexIgnore, x, y, radius, rotation, touchCount, duration) {164 return `driver.rotateDevice({x: ${x}, y: ${y}, duration: ${duration}, radius: ${radius}, rotation: ${rotation}, touchCount: ${touchCount}});`;165 }166 codeFor_getPerformanceData (varNameIgnore, varIndexIgnore, packageName, dataType, dataReadTimeout) {167 return `let performanceData = await driver.getPerformanceData('${packageName}', '${dataType}', ${dataReadTimeout});`;168 }169 codeFor_getSupportedPerformanceDataTypes () {170 return `let supportedPerformanceDataTypes = await driver.getSupportedPerformanceDataTypes();`;171 }172 codeFor_performTouchId (varNameIgnore, varIndexIgnore, match) {173 return `await driver.touchId(${match});`;174 }175 codeFor_toggleTouchIdEnrollment (varNameIgnore, varIndexIgnore, enroll) {176 return `await driver.toggleTouchIdEnrollment(${enroll});`;177 }178 codeFor_openNotifications () {179 return `await driver.openNotifications();`;180 }181 codeFor_getDeviceTime () {...

Full Screen

Full Screen

performance-e2e-specs.js

Source:performance-e2e-specs.js Github

copy

Full Screen

...24 let capability = await driver.getPerformanceDataTypes();25 capability.should.eql(_.keys(SUPPORTED_PERFORMANCE_DATA_TYPES));26 });27 it('should throw an Error for unsupported capability data type ', async function () {28 await driver.getPerformanceData(caps.appPackage, 'randominfo', 2).should.be.rejected;29 });30 it('should get the amount of cpu by user and kernel process', async function () {31 // TODO: why does this fail?32 let apiLevel = await driver.adb.getApiLevel();33 if ([21, 24, 25].indexOf(apiLevel) >= 0) {34 return this.skip();35 }36 let cpu = await driver.getPerformanceData(caps.appPackage, 'cpuinfo', 50);37 Array.isArray(cpu).should.be.true;38 cpu.length.should.be.above(1);39 cpu[0].should.eql(CPU_KEYS);40 if (cpu.length > 1) {41 for (let i = 1; i < cpu.length; i++) {42 cpu[0].length.should.equal(cpu[i].length);43 }44 }45 });46 it('should get the amount of memory used by the process', async function () {47 let memory = await driver.getPerformanceData(caps.appPackage, 'memoryinfo', 2);48 Array.isArray(memory).should.be.true;49 memory.length.should.be.above(1);50 memory[0].should.eql(MEMORY_KEYS);51 if (memory.length > 1) {52 for (let i = 1; i < memory.length; i++) {53 memory[0].length.should.equal(memory[i].length);54 }55 }56 });57 it('should get the remaining battery power', async function () {58 let battery = await driver.getPerformanceData(caps.appPackage, 'batteryinfo', 2);59 Array.isArray(battery).should.be.true;60 battery.length.should.be.above(1);61 battery[0].should.eql(BATTERY_KEYS);62 if (battery.length > 1) {63 for (let i = 1; i < battery.length; i++) {64 battery[0].length.should.equal(battery[i].length);65 }66 }67 });68 it('should get the network statistics', async function () {69 // TODO: why does adb fail with a null pointer exception on 5.170 if (await driver.adb.getApiLevel() === 22) {71 return this.skip();72 }73 let network = await driver.getPerformanceData(caps.appPackage, 'networkinfo', 2);74 Array.isArray(network).should.be.true;75 network.length.should.be.above(1);76 let compare = false;77 for (let j = 0; j < NETWORK_KEYS.length; ++j) {78 if (_.isEqual(NETWORK_KEYS[j], network[0])) {79 compare = true;80 }81 }82 compare.should.equal(true);83 if (network.length > 1) {84 for (let i = 1; i < network.length; ++i) {85 network[0].length.should.equal(network[i].length);86 }87 }...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var androidDriver = require('appium-android-driver');4var desiredCaps = {5};6driver.init(desiredCaps)7 .then(function() {8 return driver.getPerformanceDataTypes();9 })10 .then(function(types) {11 console.log('Performance data types: ' + types);12 })13 .then(function() {14 return driver.getPerformanceData('com.example.android.testing.uiautomator.BasicSample', 'cpuinfo', 10);15 })16 .then(function(data) {17 console.log('Performance data: ' + data);18 })19 .fin(function() { return driver.quit(); })20 .done();

Full Screen

Using AI Code Generation

copy

Full Screen

1driver.init({2}).then(function () {3 return driver.getPerformanceData("com.example.test", "cpuinfo", 5);4}).then(function (cpuInfo) {5 console.log(cpuInfo);6}).fin(function () {7 return driver.quit();8}).done();9package com.example.test;10import android.support.v7.app.AppCompatActivity;11import android.os.Bundle;12import android.view.View;13import android.widget.TextView;14public class MainActivity extends AppCompatActivity {15 protected void onCreate(Bundle savedInstanceState) {16 super.onCreate(savedInstanceState);17 setContentView(R.layout.activity_main);18 }19 public void startTest(View view) {20 int i = 0;21 while (i < 1000000000) {22 i++;23 }24 TextView tv = (TextView) findViewById(R.id.textView);25 tv.setText("Test Completed");26 }27}

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var driver = wd.promiseChainRemote("localhost", 4723);4driver.init({5}).then(function() {6 return driver.getPerformanceData("com.myapp", "memoryinfo", 10);7}).then(function(data) {8 console.log(data);9 return driver.quit();10}).done();11{12 {13 "meminfo": {14 },15 }16}17{18 {19 "meminfo": {

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd')2 , assert = require('assert')3 , serverConfig = require('./appium.json');4var driver = wd.promiseChainRemote(serverConfig);5 .init({6 })7 .then(function () {8 return driver.getPerformanceData("com.example.android.contactmanager", "memoryinfo", 1000);9 })10 .then(function (perfData) {11 console.log(perfData);12 })13 .fin(function () { return driver.quit(); })14 .done();15{

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var desired = {4};5var driver = wd.promiseChainRemote("localhost", 4723);6 .init(desired)7 .then(function() {8 return driver.getPerformanceData("com.android.chrome", "memoryinfo", 10);9 })10 .then(function(data) {11 console.log("Performance Data: " + JSON.stringify(data));12 })13 .fin(function() { return driver.quit(); })14 .done();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var desired = {4};5var driver = wd.promiseChainRemote("localhost", 4723);6driver.init(desired).then(function () {7 var pkg = process.argv[2];8 var dataType = process.argv[3];9 var dataReadDelay = process.argv[4];10 return driver.getPerformanceData(pkg, dataType, dataReadDelay);11}).then(function (perfData) {12 console.log(perfData);13 assert.ok(perfData.length > 0);14}).fin(function () { driver.quit(); });

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Appium Android Driver automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful