How to use driver.getAppStrings method in Appium

Best JavaScript code snippet using appium

basic-specs.js

Source:basic-specs.js Github

copy

Full Screen

1"use strict";2var env = require('../../../helpers/env')3  , setup = require("../../common/setup-base")4  , desired = require("./desired")5  , try3Times = require('../../../helpers/repeat').try3Times6  , initSession = require('../../../helpers/session').initSession7  , getTitle = require('../../../helpers/title').getTitle8  , path = require('path')9  , ADB = require("../../../../lib/devices/android/adb.js")10  , chai = require('chai')11  , should = chai.should()12  , spawn = require('child_process').spawn13  , _ = require('underscore')14  , ChaiAsserter = require('../../../helpers/asserter.js').ChaiAsserter15  , getAppPath = require('../../../helpers/app').getAppPath16  , androidReset = require('../../../helpers/reset').androidReset;17describe("apidemo - basic @skip-ci", function () {18  afterEach(function (done) {19    setTimeout(function () { done(); }, 2000); // cooldown20  });21  describe('short command timeout', function () {22    var driver;23    setup(this, desired).then(function (d) { driver = d; });24    it('should die with short command timeout', function (done) {25      driver26        .setCommandTimeout(3000)27        .sleep(4000)28        .elementByName('Animation')29          .should.be.rejectedWith(/status: (13|6)/)30        .nodeify(done);31    });32  });33  describe('commands coming in', function () {34    var driver;35    setup(this, desired).then(function (d) { driver = d; });36    it('should not die if commands come in', function (done) {37      var start;38      var find = function () {39        if ((Date.now() - start) < 5000) {40          return driver41            .elementByName('Animation').should.eventually.exist42            .then(find);43        }44      };45      driver46        .setCommandTimeout(7000)47        .then(function () { start = Date.now(); })48        .then(find)49        .sleep(10000)50        .elementByName('Animation').should.be.rejected51        .nodeify(done);52    });53  });54  describe('api', function () {55    var driver;56    setup(this, desired).then(function (d) { driver = d; });57    it('should get device size', function (done) {58      driver.getWindowSize()59        .then(function (size) {60          size.width.should.be.above(0);61          size.height.should.be.above(0);62        }).nodeify(done);63    });64    it('should be able to get current activity', function (done) {65      driver66        .getCurrentActivity()67          .should.eventually.include("ApiDemos")68        .nodeify(done);69    });70    it('should be able to get logcat log type', function (done) {71      driver72        .logTypes()73          .should.eventually.include('logcat')74        .nodeify(done);75    });76    it('should be able to get logcat logs', function (done) {77      driver.log('logcat').then(function (logs) {78        logs.length.should.be.above(0);79        logs[0].message.should.not.include("\n");80        logs[0].level.should.equal("ALL");81        logs[0].timestamp.should.exist;82      }).nodeify(done);83    });84    it('should be able to install/remove app and detect its status', function (done) {85      driver86        .isAppInstalled('foo')87          .should.eventually.equal(false)88        .isAppInstalled('io.appium.android.apis')89          .should.eventually.equal(true)90        .removeApp('io.appium.android.apis')91        .isAppInstalled('io.appium.android.apis')92          .should.eventually.equal(false)93        .installApp(getAppPath('ApiDemos'))94        .isAppInstalled('io.appium.android.apis')95          .should.eventually.equal(true)96        .nodeify(done);97    });98    it("should background the app", function (done) {99      var before = new Date().getTime() / 1000;100      driver101        .backgroundApp(3)102        .then(function () {103          ((new Date().getTime() / 1000) - before).should.be.least(3);104          // should really not be checking this.105          //((new Date().getTime() / 1000) - before).should.be.below(5);106        })107        .getCurrentActivity()108          .should.eventually.include("ApiDemos")109        .nodeify(done);110    });111    it("should get app strings", function (done) {112      driver113        .getAppStrings()114        .then(function (strings) {115          _.size(strings).should.be.above(1);116          strings.activity_sample_code.should.eql("API Demos");117        })118        .nodeify(done);119    });120  });121  describe('with fastReset', function () {122    var driver;123    setup(this, desired)124     .then(function (d) { driver = d; });125    it('should still be able to reset', function (done) {126      driver127        .sleep(3000)128        .resetApp()129        .getWindowSize()130        .nodeify(done);131    });132  });133  describe('activity style: no period', function () {134    this.timeout(env.MOCHA_INIT_TIMEOUT);135    var session;136    var title = getTitle(this);137    after(function () { return session.tearDown(this.currentTest.state === 'passed'); });138    it('should still find activity', function (done) {139      session = initSession(_.defaults({appActivity: 'ApiDemos'}, desired));140      session.setUp(title).nodeify(done);141    });142  });143  describe('activity style: fully qualified', function () {144    this.timeout(env.MOCHA_INIT_TIMEOUT);145    var session;146    var title = getTitle(this);147    after(function () { return session.tearDown(this.currentTest.state === 'passed'); });148    it('should still find activity', function (done) {149      session = initSession(_.defaults({appActivity: 'io.appium.android.apis.ApiDemos'}, desired));150      session.setUp(title).nodeify(done);151    });152  });153  describe('error cases', function () {154    this.timeout(env.MOCHA_INIT_TIMEOUT);155    var opts = {'no-retry': true};156    describe('activity style: non-existent', function () {157      var session;158      var title = getTitle(this);159      after(function () { return session.tearDown(this.currentTest.state === 'passed'); });160      it('should throw an error', function (done) {161        session = initSession(_.defaults({appActivity: '.Blargimarg'}, desired), opts);162        try3Times(function () {163          return session.setUp(title)164            .catch(function (err) { throw err.data; })165            .should.be.rejectedWith(/Activity used to start app doesn't exist/);166        }).nodeify(done);167      });168    });169    describe('bad app path', function () {170      var session;171      var title = getTitle(this);172      after(function () { return session.tearDown(this.currentTest.state === 'passed'); });173      it('should throw an error', function (done) {174        var badAppPath = path.resolve(__dirname, "../../../sample-code/apps/ApiDemos/bin/ApiDemos-debugz.apk");175        session = initSession(_.defaults({'app': badAppPath}, desired), opts);176        try3Times(function () {177          return session.setUp(title)178            .catch(function (err) { throw err.data; })179            .should.eventually.be.rejectedWith(/Error locating the app/);180        }).nodeify(done);181      });182    });183  });184  describe('pre-existing uiautomator session', function () {185    this.timeout(env.MOCHA_INIT_TIMEOUT);186    before(function (done) {187      var adb = new ADB();188      var binPath = path.resolve(__dirname, "..", "..", "..", "..", "build",189          "android_bootstrap", "AppiumBootstrap.jar");190      var uiArgs = ["shell", "uiautomator", "runtest", "AppiumBootstrap.jar", "-c",191        "io.appium.android.bootstrap.Bootstrap"];192      adb.push(binPath, "/data/local/tmp/", function (err) {193        should.not.exist(err);194        spawn("adb", uiArgs);195        setTimeout(function () {196          adb.getPIDsByName("uiautomator", function (err, pids) {197            should.not.exist(err);198            pids.length.should.equal(1);199            done();200          });201        }, 5000);202      });203    });204    describe('launching new session', function () {205      var driver;206      setup(this, desired)207       .then(function (d) { driver = d; });208      it('should kill pre-existing uiautomator process', function (done) {209        driver.getWindowSize().should.eventually.exist210          .nodeify(done);211      });212    });213    describe('launching activity with custom intent parameter category', function () {214      var driver;215      var caps = _.clone(desired);216      caps.appActivity = "io.appium.android.apis.app.HelloWorld";217      caps.intentCategory = "appium.android.intent.category.SAMPLE_CODE";218      setup(this, caps)219       .then(function (d) { driver = d; });220      it('should launch activity with intent category', function (done) {221        driver.getCurrentActivity()222              .should.eventually.include("HelloWorld")223              .nodeify(done);224      });225    });226  });227  describe('appium android', function () {228    this.timeout(env.MOCHA_INIT_TIMEOUT);229    var session;230    var title = getTitle(this);231    if (env.FAST_TESTS) {232      beforeEach(function (done) {233        androidReset('io.appium.android.apis', '.ApiDemos').nodeify(done);234      });235    }236    afterEach(function () { return session.tearDown(this.currentTest.state === 'passed'); });237    it('should load an app with using absolute path', function (done) {238      var appPath = path.resolve(desired.app);239      session = initSession(_.defaults({'app': appPath}, desired));240      session.setUp(title + "- abs path").nodeify(done);241    });242    it('should load an app with using relative path', function (done) {243      var appPath = path.relative(process.cwd(), desired.app);244      session = initSession(_.defaults({'app': appPath}, desired));245      session.setUp(title + "- rel path").nodeify(done);246    });247    it('should load a zipped app via url', function (done) {248      var appUrl = 'http://appium.s3.amazonaws.com/ApiDemos-debug.apk';249      session = initSession(_.defaults({'app': appUrl}, desired));250      session.setUp(title + "- zip url").nodeify(done);251    });252    it('should load an app via package', function (done) {253      var caps = _.clone(desired);254      caps.app = 'io.appium.android.apis';255      caps.appActivity = '.ApiDemos';256      session = initSession(caps, desired);257      session.setUp(title + "- package").nodeify(done);258    });259  });260  describe('appium android', function () {261    this.timeout(env.MOCHA_INIT_TIMEOUT);262    var session;263    var title = getTitle(this);264    beforeEach(function (done) {265      var adb = new ADB({});266      adb.uninstallApk("io.appium.android.apis", done);267    });268    afterEach(function () { return session.tearDown(this.currentTest.state === 'passed'); });269    it('should be able to start session without launching app', function (done) {270      var appPath = path.resolve(desired.app);271      var caps = _.defaults({'app': appPath, 'autoLaunch': false}, desired);272      session = initSession(caps, desired);273      var driver = session.setUp(title + "- autoLaunch");274      var activityToBeBlank = new ChaiAsserter(function (driver) {275        return driver276          .getCurrentActivity()277          .should.eventually.not.include(".ApiDemos");278      });279      driver280        .waitFor(activityToBeBlank, 10000, 700)281        .launchApp()282        .getCurrentActivity()283          .should.eventually.include(".ApiDemos")284        .nodeify(done);285    });286    it('should be able to start session without installing app', function (done) {287      var appPath = path.resolve(desired.app);288      var appPkg = "io.appium.android.apis";289      var caps = _.defaults({290        app: appPkg,291        autoLaunch: false,292        appActivity: ".ApiDemos"293      }, desired);294      session = initSession(caps, desired);295      var driver = session.setUp(title + "- autoLaunch");296      var activityToBeBlank = new ChaiAsserter(function (driver) {297        return driver298          .getCurrentActivity()299          .should.eventually.not.include(".ApiDemos");300      });301      driver302        .waitFor(activityToBeBlank, 10000, 700)303        .installApp(appPath)304        .launchApp()305        .getCurrentActivity()306          .should.eventually.include(".ApiDemos")307        .nodeify(done);308    });309  });...

Full Screen

Full Screen

js-wdio.js

Source:js-wdio.js Github

copy

Full Screen

...102  codeFor_removeAppFromDevice (varNameIgnore, varIndexIgnore, app) {103    return `await driver.removeApp('${app}')`;104  }105  codeFor_getAppStrings (varNameIgnore, varIndexIgnore, language, stringFile) {106    return `let appStrings = await driver.getAppStrings(${language ? `${language}, ` : ''}${stringFile ? `"${stringFile}` : ''});`;107  }108  codeFor_getClipboard () {109    return `let clipboardText = await driver.getClipboard();`;110  }111  codeFor_setClipboard (varNameIgnore, varIndexIgnore, clipboardText) {112    return `await driver.setClipboard('${clipboardText}')`;113  }114  codeFor_pressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {115    return `await driver.longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;116  }117  codeFor_longPressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {118    return `await driver.longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;119  }120  codeFor_hideDeviceKeyboard () {...

Full Screen

Full Screen

js-wd.js

Source:js-wd.js Github

copy

Full Screen

...94  codeFor_removeAppFromDevice (varNameIgnore, varIndexIgnore, app) {95    return `await driver.removeAppFromDevice('${app}');`;96  }97  codeFor_getAppStrings (varNameIgnore, varIndexIgnore, language, stringFile) {98    return `let appStrings = await driver.getAppStrings(${language ? `${language}, ` : ''}${stringFile ? `"${stringFile}` : ''});`;99  }100  codeFor_getClipboard () {101    return `let clipboardText = await driver.getClipboard();`;102  }103  codeFor_setClipboard (varNameIgnore, varIndexIgnore, clipboardText) {104    return `await driver.setClipboard('${clipboardText}')`;105  }106  codeFor_pressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {107    return `await driver.longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;108  }109  codeFor_longPressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {110    return `await driver.longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;111  }112  codeFor_hideDeviceKeyboard () {...

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  wrapWithBoilerplate (code) {7    let caps = JSON.stringify(this.caps);8    let url = JSON.stringify(`${this.scheme}://${this.host}:${this.port}${this.path}`);9    return `// Requires the Oxygen HQ client library10// (npm install oxygen-cli -g)11// Then paste this into a .js file and run with:12// oxygen <file>.js13mob.init(${caps}, ${url});14${code}15`;16  }17  codeFor_findAndAssign (strategy, locator, localVar, isArray) {18    // wdio has its own way of indicating the strategy in the locator string19    switch (strategy) {20      case 'xpath': break; // xpath does not need to be updated21      case 'accessibility id': locator = `~${locator}`; break;22      case 'id': locator = `id=${locator}`; break;23      case 'name': locator = `name=${locator}`; break;24      case 'class name': locator = `css=${locator}`; break;25      case '-android uiautomator': locator = `android=${locator}`; break;26      case '-android datamatcher': locator = `android=${locator}`; break;27      case '-ios predicate string': locator = `ios=${locator}`; break;28      case '-ios class chain': locator = `ios=${locator}`; break; // TODO: Handle IOS class chain properly. Not all libs support it. Or take it out29      default: throw new Error(`Can't handle strategy ${strategy}`);30    }31    if (isArray) {32      return `let ${localVar} = mob.findElements(${JSON.stringify(locator)});`;33    } else {34      return `let ${localVar} = mob.findElement(${JSON.stringify(locator)});`;35    }36  }37  codeFor_click (varName, varIndex) {38    return `mob.click(${this.getVarName(varName, varIndex)});`;39  }40  codeFor_clear (varName, varIndex) {41    return `mob.clear(${this.getVarName(varName, varIndex)});`;42  }43  codeFor_sendKeys (varName, varIndex, text) {44    return `mob.type(${this.getVarName(varName, varIndex)}, ${JSON.stringify(text)});`;45  }46  codeFor_back () {47    return `mob.back();`;48  }49  codeFor_tap (varNameIgnore, varIndexIgnore, x, y) {50    return `mob.tap(${x}, ${y});`;51  }52  codeFor_swipe (varNameIgnore, varIndexIgnore, x1, y1, x2, y2) {53    return `mob.swipeScreen(${x1}, ${y1}, ${x2}, ${y2});`;54  }55  codeFor_getCurrentActivity () {56    return `let activityName = mob.getCurrentActivity();`;57  }58  codeFor_getCurrentPackage () {59    return `let packageName = mob.getCurrentPackage();`;60  }61  codeFor_installAppOnDevice (varNameIgnore, varIndexIgnore, app) {62    return `mob.installApp('${app}');`;63  }64  codeFor_isAppInstalledOnDevice (varNameIgnore, varIndexIgnore, app) {65    return `let isAppInstalled = mob.isAppInstalled("${app}");`;66  }67  codeFor_launchApp () {68    return `mob.launchApp();`;69  }70  codeFor_backgroundApp (varNameIgnore, varIndexIgnore, timeout) {71    return `mob.driver().background(${timeout});`;72  }73  codeFor_closeApp () {74    return `mob.closeApp();`;75  }76  codeFor_resetApp () {77    return `mob.resetApp();`;78  }79  codeFor_removeAppFromDevice (varNameIgnore, varIndexIgnore, app) {80    return `mob.removeApp('${app}')`;81  }82  codeFor_getAppStrings (varNameIgnore, varIndexIgnore, language, stringFile) {83    return `let appStrings = mob.driver().getAppStrings(${language ? `${language}, ` : ''}${stringFile ? `"${stringFile}` : ''});`;84  }85  codeFor_getClipboard () {86    return `let clipboardText = mob.driver().getClipboard();`;87  }88  codeFor_setClipboard (varNameIgnore, varIndexIgnore, clipboardText) {89    return `mob.driver().setClipboard('${clipboardText}')`;90  }91  codeFor_pressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {92    return `mob.driver().longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;93  }94  codeFor_longPressKeycode (varNameIgnore, varIndexIgnore, keyCode, metaState, flags) {95    return `mob.driver().longPressKeyCode(${keyCode}, ${metaState}, ${flags});`;96  }97  codeFor_hideDeviceKeyboard () {98    return `mob.driver().hideKeyboard();`;99  }100  codeFor_isKeyboardShown () {101    return `//isKeyboardShown not supported`;102  }103  codeFor_pushFileToDevice (varNameIgnore, varIndexIgnore, pathToInstallTo, fileContentString) {104    return `mob.driver().pushFile('${pathToInstallTo}', '${fileContentString}');`;105  }106  codeFor_pullFile (varNameIgnore, varIndexIgnore, pathToPullFrom) {107    return `let data = mob.driver().pullFile('${pathToPullFrom}');`;108  }109  codeFor_pullFolder (varNameIgnore, varIndexIgnore, folderToPullFrom) {110    return `let data = mob.driver().pullFolder('${folderToPullFrom}');`;111  }112  codeFor_toggleAirplaneMode () {113    return `mob.driver().toggleAirplaneMode();`;114  }115  codeFor_toggleData () {116    return `mob.driver().toggleData();`;117  }118  codeFor_toggleWiFi () {119    return `mob.driver().toggleWiFi();`;120  }121  codeFor_toggleLocationServices () {122    return `mob.driver().toggleLocationServices();`;123  }124  codeFor_sendSMS () {125    return `// Not supported: sendSms;`;126  }127  codeFor_gsmCall () {128    return `// Not supported: gsmCall`;129  }130  codeFor_gsmSignal () {131    return `// Not supported: gsmSignal`;132  }133  codeFor_gsmVoice () {134    return `// Not supported: gsmVoice`;135  }136  codeFor_shake () {137    return `mob.shake();`;138  }139  codeFor_lock (varNameIgnore, varIndexIgnore, seconds) {140    return `mob.driver().lock(${seconds});`;141  }142  codeFor_unlock () {143    return `mob.driver().unlock();`;144  }145  codeFor_isLocked () {146    return `let isLocked = mob.driver().isLocked();`;147  }148  codeFor_rotateDevice (varNameIgnore, varIndexIgnore, x, y, radius, rotation, touchCount, duration) {149    return `mob.driver().rotateDevice(${x}, ${y}, ${radius}, ${rotation}, ${touchCount}, ${duration});`;150  }151  codeFor_getPerformanceData () {152    return `// Not supported: getPerformanceData`;153  }154  codeFor_getSupportedPerformanceDataTypes () {155    return `// Not supported: getSupportedPerformanceDataTypes`;156  }157  codeFor_performTouchId (varNameIgnore, varIndexIgnore, match) {158    return `mob.driver().touchId(${match});`;159  }160  codeFor_toggleTouchIdEnrollment (varNameIgnore, varIndexIgnore, enroll) {161    return `mob.driver().toggleEnrollTouchId(${enroll});`;162  }163  codeFor_openNotifications () {164    return `mob.driver().openNotifications();`;165  }166  codeFor_getDeviceTime () {167    return `let time = mob.getDeviceTime();`;168  }169  codeFor_fingerprint (varNameIgnore, varIndexIgnore, fingerprintId) {170    return `mob.driver().fingerPrint(${fingerprintId});`;171  }172  codeFor_sessionCapabilities () {173    return `let caps = mob.driver().capabilities;`;174  }175  codeFor_setPageLoadTimeout (varNameIgnore, varIndexIgnore, ms) {176    return `mob.driver().setTimeout({'pageLoad': ${ms}});`;177  }178  codeFor_setAsyncScriptTimeout (varNameIgnore, varIndexIgnore, ms) {179    return `mob.driver().setTimeout({'script': ${ms}});`;180  }181  codeFor_setImplicitWaitTimeout (varNameIgnore, varIndexIgnore, ms) {182    return `mob.driver().setTimeout({'implicit': ${ms}});`;183  }184  codeFor_setCommandTimeout () {185    return `// Not supported: setCommandTimeout`;186  }187  codeFor_getOrientation () {188    return `let orientation = mob.driver().getOrientation();`;189  }190  codeFor_setOrientation (varNameIgnore, varIndexIgnore, orientation) {191    return `mob.driver().setOrientation("${orientation}");`;192  }193  codeFor_getGeoLocation () {194    return `let location = mob.driver().getGeoLocation();`;195  }196  codeFor_setGeoLocation (varNameIgnore, varIndexIgnore, latitude, longitude, altitude) {197    return `mob.driver().setGeoLocation({latitude: ${latitude}, longitude: ${longitude}, altitude: ${altitude}});`;198  }199  codeFor_logTypes () {200    return `let logTypes = mob.driver().getLogTypes();`;201  }202  codeFor_log (varNameIgnore, varIndexIgnore, logType) {203    return `let logs = mob.driver().getLogs('${logType}');`;204  }205  codeFor_updateSettings (varNameIgnore, varIndexIgnore, settingsJson) {206    return `mob.driver().updateSettings(${settingsJson});`;207  }208  codeFor_settings () {209    return `let settings = mob.driver().getSettings();`;210  }211}212JsOxygenFramework.readableName = 'JS - Oxygen HQ';...

Full Screen

Full Screen

strings-e2e-specs.js

Source:strings-e2e-specs.js Github

copy

Full Screen

...24        await deleteSession();25      }26    });27    it('should return app strings', async function () {28      let strings = await driver.getAppStrings('en');29      strings.hello_world.should.equal('Hello, World!');30    });31    it('should return app strings for different language', async function () {32      let strings = await driver.getAppStrings('fr');33      strings.hello_world.should.equal('Bonjour, Monde!');34    });35  });36  describe('device language', function () {37    let initialLocale;38    let adb;39    before(async function () {40      // Don't test ADB on test object41      if (process.env.TESTOBJECT_E2E_TESTS) {42        this.skip();43      }44      // restarting doesn't work on Android 7+45      adb = new ADB();46      initialLocale = await getLocale(adb);47    });48    afterEach(async function () {49      if (driver) {50        if (await adb.getApiLevel() > 23) {51          let [language, country] = initialLocale.split('-');52          await androidHelpers.ensureDeviceLocale(adb, language, country);53        } else {54          // This method is flakey in CI55          if (!process.env.CI) {56            await androidHelpers.ensureDeviceLocale(adb, null, initialLocale);57          }58        }59        await deleteSession();60      }61    });62    it('should return app strings with default locale/language', async function () {63      driver = await initSession(APIDEMOS_CAPS);64      let strings = await driver.getAppStrings();65      strings.hello_world.should.equal('Hello, World!');66    });67    it('should return app strings when language/locale set @skip-ci', async function () {68      if (process.env.TESTOBJECT_E2E_TESTS) {69        this.skip();70      }71      driver = await initSession(_.defaults({72        language: 'fr',73        locale: 'CA',74      }, APIDEMOS_CAPS));75      let strings = await driver.getAppStrings();76      strings.hello_world.should.equal('Bonjour, Monde!');77    });78  });...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var webdriver = require('selenium-webdriver'),2    until = webdriver.until;3var driver = new webdriver.Builder()4    .forBrowser('chrome')5    .build();6driver.manage().window().maximize();7driver.findElement(By.name('q')).sendKeys('webdriver');8driver.findElement(By.name('btnK')).click();9driver.wait(until.titleIs('webdriver - Google Search'), 1000);10driver.getAppStrings().then(function(appStrings){11    console.log(appStrings);12})13driver.quit();14{ NATIVE_APP: 15   { 'CFBundleDisplayName': 'Google',16      [ { 'UILaunchImageMinimumOSVersion': '8.0',

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const opts = {3  capabilities: {4  },5};6const client = wdio.remote(opts);7const strings = await client.getAppStrings("en");8console.log(strings);9client.deleteSession();

Full Screen

Using AI Code Generation

copy

Full Screen

1var driver = new webdriver.Builder().forBrowser('chrome').build();2driver.getAppStrings().then(function(appStrings) {3    console.log(appStrings);4    driver.quit();5});6var driver = new webdriver.Builder().forBrowser('chrome').build();7driver.setContext('NATIVE_APP').then(function() {8    console.log('Appium context set to NATIVE_APP');9    driver.quit();10});11var driver = new webdriver.Builder().forBrowser('chrome').build();12driver.getContext().then(function(context) {13    console.log('Appium context is ' + context);14    driver.quit();15});16var driver = new webdriver.Builder().forBrowser('chrome').build();17driver.getContexts().then(function(contexts) {18    console.log('Appium contexts are ' + contexts);19    driver.quit();20});21var driver = new webdriver.Builder().forBrowser('chrome').build();22driver.getPageSource().then(function(pageSource) {23    console.log(pageSource);24    driver.quit();25});26var driver = new webdriver.Builder().forBrowser('chrome').build();27driver.getOrientation().then(function(orientation) {28    console.log('Appium orientation is ' + orientation);29    driver.quit();30});31var driver = new webdriver.Builder().forBrowser('chrome').build();32driver.setOrientation('LANDSCAPE').then(function() {33    console.log('Appium orientation set to LANDSCAPE');34    driver.quit();35});36var driver = new webdriver.Builder().forBrowser('chrome').build();37driver.getNetworkConnection().then(function(network

Full Screen

Using AI Code Generation

copy

Full Screen

1var driver = require('./driver.js');2  .getAppStrings('en')3  .then(function(appStrings){4    console.log(appStrings);5  })6  .catch(function(err){7    console.log(err);8  });9var driver = require('./driver.js');10  .getAppString('hello')11  .then(function(appString){12    console.log(appString);13  })14  .catch(function(err){15    console.log(err);16  });17var driver = require('./driver.js');18  .isAppInstalled('com.example.app')19  .then(function(isInstalled){20    console.log(isInstalled);21  })22  .catch(function(err){23    console.log(err);24  });25var driver = require('./driver.js');26  .installApp('path/to/app')27  .then(function(){28    console.log('App installed successfully');29  })30  .catch(function(err){31    console.log(err);32  });33var driver = require('./

Full Screen

Using AI Code Generation

copy

Full Screen

1driver.getAppStrings(lang, function(err, strings) {2  if (err) {3    console.log("Error in retrieving strings");4  } else {5    console.log(strings[stringName]);6  }7});8driver.setGeoLocation(latitude, longitude, altitude, function(err) {9  if (err) {10    console.log("Error in setting location");11  } else {12    console.log("Location set successfully");13  }14});15driver.getGeoLocation(function(err, result) {16  if (err) {17    console.log("Error in retrieving location");18  } else {19    console.log(result);20  }21});22driver.setNetworkConnection(type, function(err) {23  if (err) {24    console.log("Error in setting network connection");25  } else {26    console.log("Network connection set successfully");

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 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