How to use adb.extractStringsFromApk method in Appium Android Driver

Best JavaScript code snippet using appium-android-driver

ah1.js

Source:ah1.js Github

copy

Full Screen

...450  }451  const stringsTmpDir = path.resolve(opts.tmpDir, opts.appPackage);452  try {453    logger.debug('Extracting strings from apk', opts.app, language, stringsTmpDir);454    const {apkStrings, localPath} = await adb.extractStringsFromApk(opts.app, language, stringsTmpDir);455    await adb.push(localPath, remoteDir);456    return apkStrings;457  } catch (err) {458    logger.warn(`Could not get strings, continuing anyway. Original error: ${err.message}`);459    await adb.shell('echo', [`'{}' > ${remoteFile}`]);460  } finally {461    await fs.rimraf(stringsTmpDir);462  }463  return {};464};465helpers.unlockWithUIAutomation = async function (driver, adb, unlockCapabilities) {466  let unlockType = unlockCapabilities.unlockType;467  if (!unlocker.isValidUnlockType(unlockType)) {468    throw new Error(`Invalid unlock type ${unlockType}`);...

Full Screen

Full Screen

android-helpers.js

Source:android-helpers.js Github

copy

Full Screen

...401  }402  const stringsTmpDir = path.resolve(opts.tmpDir, opts.appPackage);403  try {404    logger.debug('Extracting strings from apk', opts.app, language, stringsTmpDir);405    const {apkStrings, localPath} = await adb.extractStringsFromApk(opts.app, language, stringsTmpDir);406    await adb.push(localPath, remoteDir);407    return apkStrings;408  } catch (err) {409    logger.warn(`Could not get strings, continuing anyway. Original error: ${err.message}`);410    await adb.shell('echo', [`'{}' > ${remoteFile}`]);411  } finally {412    await fs.rimraf(stringsTmpDir);413  }414  return {};415};416helpers.unlockWithUIAutomation = async function (driver, adb, unlockCapabilities) {417  let unlockType = unlockCapabilities.unlockType;418  if (!unlocker.isValidUnlockType(unlockType)) {419    throw new Error(`Invalid unlock type ${unlockType}`);...

Full Screen

Full Screen

apk-utils-e2e-specs.js

Source:apk-utils-e2e-specs.js Github

copy

Full Screen

...242    });243    await assertPackageAndActivity();244  });245  it('extractStringsFromApk should get strings for default language', async function () {246    let {apkStrings} = await adb.extractStringsFromApk(contactManagerPath, null, '/tmp');247    apkStrings.save.should.equal('Save');248  });249  it('extractStringsFromApk should get strings for non-default language', async function () {250    let {apkStrings} = await adb.extractStringsFromApk(apiDemosPath, 'fr', '/tmp');251    apkStrings.linear_layout_8_horizontal.should.equal('Horizontal');252  });253  it('extractStringsFromApk should get strings for en language', async function () {254    let {apkStrings} = await adb.extractStringsFromApk(apiDemosPath, 'en', '/tmp');255    apkStrings.linear_layout_8_horizontal.should.equal('Horizontal');256  });...

Full Screen

Full Screen

general.js

Source:general.js Github

copy

Full Screen

...55    if (!await fs.exists(app)) {56      log.errorAndThrow(`The app at '${app}' does not exist`);57    }58    try {59      const {apkStrings} = await this.adb.extractStringsFromApk(app, language, tmpRoot);60      this.apkStrings[language] = apkStrings;61      return preprocessStringsMap(apkStrings);62    } catch (err) {63      log.errorAndThrow(`Cannot extract strings from '${app}'. Original error: ${err.message}`);64    }65  } finally {66    await fs.rimraf(tmpRoot);67  }68};69// memoized in constructor70commands.getWindowSize = async function () {71  return await this.uiautomator2.jwproxy.command('/window/current/size', 'GET', {});72};73// For W3C...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var path = require('path');3var assert = require('assert');4var chai = require('chai');5var chaiAsPromised = require('chai-as-promised');6var AndroidDriver = require('appium-android-driver');7var ADB = require('appium-adb').ADB;8chai.use(chaiAsPromised);9var should = chai.should();10var driver = wd.promiseChainRemote('localhost', 4723);11var desiredCaps = {12  app: path.resolve(__dirname, 'ApiDemos-debug.apk'),13};14var adb = new ADB();15var androidDriver = new AndroidDriver({adb: adb, suppressKillServer: true});16  .init(desiredCaps)17  .then(function() {18    return androidDriver.adb.extractStringsFromApk(path.resolve(__dirname, 'ApiDemos-debug.apk'), 'en');19  })20  .then(function() {21    return driver.quit();22  })23  .done();24var wd = require('wd');25var path = require('path');26var assert = require('assert');27var chai = require('chai');28var chaiAsPromised = require('chai-as-promised');29var AndroidDriver = require('appium-android-driver');30var ADB = require('appium-adb').ADB;31chai.use(chaiAsPromised);32var should = chai.should();33var driver = wd.promiseChainRemote('localhost', 4723);34var desiredCaps = {35  app: path.resolve(__dirname, 'ApiDemos-debug.apk'),36};37var adb = new ADB();38var androidDriver = new AndroidDriver({adb: adb, suppressKillServer: true});39  .init(desiredCaps)40  .then(function() {41    return androidDriver.adb.getConnectedEmulators();42  })43  .then(function() {44    return driver.quit();45  })46  .done();

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb');2var path = require('path');3var apkPath = path.resolve(__dirname, 'app-debug.apk');4var strings = adb.extractStringsFromApk(apkPath, 'en');5console.log(strings);6{ 'app_name': 'Appium',7  'title_activity_kimera': 'Kimera' }

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb');2var path = require('path');3var fs = require('fs');4var assert = require('assert');5var async = require('async');6var apkPath = path.resolve(__dirname, 'test.apk');7var outPath = path.resolve(__dirname, 'strings.json');8var args = {apk: apkPath, language: 'en', out: outPath};9adb.extractStringsFromApk(args, function(err, res) {10  assert.ok(!err);11  assert.ok(fs.existsSync(outPath));12  console.log("Done");13});14{15}16extractStringsFromApk(opts, cb)17Copyright (c) 2016 Appium

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb').ADB;2var adb = new ADB();3var path = require('path');4var apkPath = path.resolve(__dirname, 'app-debug.apk');5adb.extractStringsFromApk(apkPath, function(err, strings) {6  if (err) {7    console.log(err);8  } else {9    console.log(strings);10  }11});

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb');2var path = require('path');3var fs = require('fs');4var async = require('async');5var strings = adb.extractStringsFromApk(path.join(__dirname, 'app', 'ApiDemos-debug.apk'), path.join(__dirname, 'app', 'ApiDemos-debug.apk'), function(err, strings){6    console.log(strings);7});8var adb = require('appium-adb');9var path = require('path');10var fs = require('fs');11var async = require('async');12var strings = adb.extractStringsFromApk(path.join(__dirname, 'app', 'ApiDemos-debug.apk'), path.join(__dirname, 'app', 'ApiDemos-debug.apk'), function(err, strings){13    console.log(strings);14});

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb');2var path = require('path');3var filePath = path.resolve(__dirname, 'test.apk');4adb.extractStringsFromApk(filePath, function(err, strings) {5  if (err) {6    console.log(err);7  } else {8    console.log(strings);9  }10});11[ { name: 'app_name',12value: 'test' },13{ name: 'title_activity_main',14value: 'MainActivity' },15{ name: 'hello_world',16value: 'Hello world!' },17{ nam

Full Screen

Using AI Code Generation

copy

Full Screen

1var adb = require('appium-adb').ADB.createADB();2var apkPath = '/Users/username/Downloads/app-debug.apk';3var language = 'en';4var strings = adb.extractStringsFromApk(apkPath, language);5console.log(strings);6var adb = require('appium-adb').ADB.createADB();7var apkPath = '/Users/username/Downloads/app-debug.apk';8var language = 'en';9var strings = adb.extractStringsFromApk(apkPath, language);10console.log(strings);11var adb = require('appium-adb').ADB.createADB();12var apkPath = '/Users/username/Downloads/app-debug.apk';13var language = 'en';14var strings = adb.extractStringsFromApk(apkPath, language);15console.log(strings);16var adb = require('appium-adb').ADB.createADB();17var apkPath = '/Users/username/Downloads/app-debug.apk';18var language = 'en';19var strings = adb.extractStringsFromApk(apkPath, language);20console.log(strings);

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