Best JavaScript code snippet using appium-android-driver
android-helper-specs.js
Source:android-helper-specs.js
...87 }));88 describe('ensureNetworkSpeed', () => {89 it('should return value if network speed is valid', async () => {90 adb.NETWORK_SPEED = {GSM: 'gsm'};91 await helpers.ensureNetworkSpeed(adb, 'gsm').should.be.equal('gsm');92 });93 it('should return ADB.NETWORK_SPEED.FULL if network speed is invalid', async () => {94 adb.NETWORK_SPEED = {FULL: 'full'};95 await helpers.ensureNetworkSpeed(adb, 'invalid').should.be.equal('full');96 });97 });98 describe('ensureDeviceLocale', withMocks({adb}, (mocks) => {99 it('should call setDeviceLanguageCountry', async () => {100 mocks.adb.expects('setDeviceLanguageCountry').withExactArgs('en', 'US').once();101 mocks.adb.expects('ensureCurrentLocale').withExactArgs('en', 'US').once().returns(true);102 await helpers.ensureDeviceLocale(adb, 'en', 'US');103 mocks.adb.verify();104 });105 it('should never call setDeviceLanguageCountry', async () => {106 mocks.adb.expects('setDeviceLanguageCountry').never();107 mocks.adb.expects('getApiLevel').never();108 await helpers.ensureDeviceLocale(adb);109 mocks.adb.verify();...
android-helpers.js
Source:android-helpers.js
...124};125helpers.prepareAVDArgs = function prepareAVDArgs (opts, adb, avdArgs) {126 let args = avdArgs ? [avdArgs] : [];127 if (!_.isUndefined(opts.networkSpeed)) {128 let networkSpeed = this.ensureNetworkSpeed(adb, opts.networkSpeed);129 args.push('-netspeed', networkSpeed);130 }131 if (opts.isHeadless) {132 args.push('-no-window');133 }134 return args.join(' ');135};136helpers.ensureNetworkSpeed = function ensureNetworkSpeed (adb, networkSpeed) {137 if (_.values(adb.NETWORK_SPEED).indexOf(networkSpeed) !== -1) {138 return networkSpeed;139 }140 logger.warn(`Wrong network speed param ${networkSpeed}, using default: full. Supported values: ${_.values(adb.NETWORK_SPEED)}`);141 return adb.NETWORK_SPEED.FULL;142};...
ah1.js
Source:ah1.js
...112};113helpers.prepareAVDArgs = function (opts, adb, avdArgs) {114 let args = avdArgs ? [avdArgs] : [];115 if (!_.isUndefined(opts.networkSpeed)) {116 let networkSpeed = this.ensureNetworkSpeed(adb, opts.networkSpeed);117 args.push('-netspeed', networkSpeed);118 }119 if (opts.isHeadless) {120 args.push('-no-window');121 }122 return args.join(' ');123};124helpers.ensureNetworkSpeed = function (adb, networkSpeed) {125 if (_.values(adb.NETWORK_SPEED).indexOf(networkSpeed) !== -1) {126 return networkSpeed;127 }128 logger.warn(`Wrong network speed param ${networkSpeed}, using default: full. Supported values: ${_.values(adb.NETWORK_SPEED)}`);129 return adb.NETWORK_SPEED.FULL;130};...
driver-specs.js
Source:driver-specs.js
1import chai from 'chai';2import chaiAsPromised from 'chai-as-promised';3import log from '../../lib/logger';4import sinon from 'sinon';5import helpers from '../../lib/android-helpers';6import { withMocks } from 'appium-test-support';7import AndroidDriver from '../..';8import ADB from 'appium-adb';9import { errors } from 'appium-base-driver';10import { fs } from 'appium-support';11import { SharedPrefsBuilder } from 'shared-preferences-builder';12let driver;13let sandbox = sinon.sandbox.create();14let expect = chai.expect;15chai.should();16chai.use(chaiAsPromised);17describe('driver', () => {18 describe('constructor', () => {19 it('should call BaseDriver constructor with opts', () => {20 let driver = new AndroidDriver({foo: 'bar'});21 driver.should.exist;22 driver.opts.foo.should.equal('bar');23 });24 it('should have this.findElOrEls', () => {25 let driver = new AndroidDriver({foo: 'bar'});26 driver.findElOrEls.should.exist;27 driver.findElOrEls.should.be.a('function');28 });29 });30 describe('emulator methods', () => {31 describe('fingerprint', () => {32 it('should be rejected if isEmulator is false', () => {33 let driver = new AndroidDriver();34 sandbox.stub(driver, 'isEmulator').returns(false);35 driver.fingerprint(1111).should.eventually.be.rejectedWith("fingerprint method is only available for emulators");36 driver.isEmulator.calledOnce.should.be.true;37 });38 });39 describe('sendSMS', () => {40 it('sendSMS should be rejected if isEmulator is false', () => {41 let driver = new AndroidDriver();42 sandbox.stub(driver, 'isEmulator').returns(false);43 driver.sendSMS(4509, "Hello Appium").should.eventually.be.rejectedWith("sendSMS method is only available for emulators");44 driver.isEmulator.calledOnce.should.be.true;45 });46 });47 });48 describe('sharedPreferences', () => {49 driver = new AndroidDriver();50 let adb = new ADB();51 driver.adb = adb;52 let builder = new SharedPrefsBuilder();53 describe('should skip setting sharedPreferences', withMocks({driver}, (mocks) => {54 it('on undefined name', async () => {55 driver.opts.sharedPreferences = {};56 (await driver.setSharedPreferences()).should.be.false;57 mocks.driver.verify();58 });59 }));60 describe('should set sharedPreferences', withMocks({driver, adb, builder, fs}, (mocks) => {61 it('on defined sharedPreferences object', async () => {62 driver.opts.appPackage = 'io.appium.test';63 driver.opts.sharedPreferences = {64 name: 'com.appium.prefs',65 prefs: [{type: 'string', name: 'mystr', value:'appium rocks!'}]66 };67 mocks.driver.expects('getPrefsBuilder').once().returns(builder);68 mocks.builder.expects('build').once();69 mocks.builder.expects('toFile').once();70 mocks.adb.expects('shell').once()71 .withExactArgs(['mkdir', '-p', '/data/data/io.appium.test/shared_prefs']);72 mocks.adb.expects('push').once()73 .withExactArgs('/tmp/com.appium.prefs.xml', '/data/data/io.appium.test/shared_prefs/com.appium.prefs.xml');74 mocks.fs.expects('exists').once()75 .withExactArgs('/tmp/com.appium.prefs.xml')76 .returns(true);77 mocks.fs.expects('unlink').once()78 .withExactArgs('/tmp/com.appium.prefs.xml');79 await driver.setSharedPreferences();80 mocks.driver.verify();81 mocks.adb.verify();82 mocks.builder.verify();83 mocks.fs.verify();84 });85 }));86 });87 describe('createSession', () => {88 beforeEach(() => {89 driver = new AndroidDriver();90 sandbox.stub(driver, 'checkAppPresent');91 sandbox.stub(driver, 'checkPackagePresent');92 sandbox.stub(driver, 'startAndroidSession');93 sandbox.stub(ADB, 'createADB', async (opts) => {94 return {95 getDevicesWithRetry: async () => {96 return [97 {udid: 'emulator-1234'},98 {udid: 'rotalume-1337'}99 ];100 },101 getPortFromEmulatorString: () => {102 return 1234;103 },104 setDeviceId: () => {},105 setEmulatorPort: () => {},106 adbPort: opts.adbPort,107 networkSpeed: () => {}108 };109 });110 });111 afterEach(() => {112 sandbox.restore();113 });114 it('should verify device is an emulator', async () => {115 driver.opts.avd = "Nexus_5X_Api_23";116 driver.isEmulator().should.equal(true);117 driver.opts.avd = undefined;118 driver.opts.udid = "emulator-5554";119 driver.isEmulator().should.equal(true);120 driver.opts.udid = "01234567889";121 driver.isEmulator().should.equal(false);122 });123 it('should get java version if none is provided', async () => {124 await driver.createSession({platformName: 'Android', deviceName: 'device', app: '/path/to/some.apk'});125 driver.opts.javaVersion.should.exist;126 });127 it('should get browser package details if browserName is provided', async () => {128 sandbox.spy(helpers, 'getChromePkg');129 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'Chrome'});130 helpers.getChromePkg.calledOnce.should.be.true;131 });132 it('should check an app is present', async () => {133 await driver.createSession({platformName: 'Android', deviceName: 'device', app: '/path/to/some.apk'});134 driver.checkAppPresent.calledOnce.should.be.true;135 });136 it('should check a package is present', async () => {137 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package'});138 driver.checkPackagePresent.calledOnce.should.be.true;139 });140 it('should accept a package via the app capability', async () => {141 await driver.createSession({platformName: 'Android', deviceName: 'device', app: 'some.app.package'});142 driver.checkPackagePresent.calledOnce.should.be.true;143 });144 it('should add server details to caps', async () => {145 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package'});146 driver.caps.webStorageEnabled.should.exist;147 });148 it('should delete a session on failure', async () => {149 // Force an error to make sure deleteSession gets called150 sandbox.stub(helpers, 'getJavaVersion').throws();151 sandbox.stub(driver, 'deleteSession');152 try {153 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package'});154 } catch (ign) {}155 driver.deleteSession.calledOnce.should.be.true;156 });157 it('should pass along adbPort capability to ADB', async () => {158 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package', adbPort: 1111});159 driver.adb.adbPort.should.equal(1111);160 });161 it('should proxy screenshot if nativeWebScreenshot is off', async () => {162 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: false});163 driver.getProxyAvoidList().should.have.length(8);164 });165 it('should not proxy screenshot if nativeWebScreenshot is on', async () => {166 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: true});167 driver.getProxyAvoidList().should.have.length(9);168 });169 it('should set networkSpeed before launching app', async () => {170 sandbox.stub(driver, 'isEmulator').returns(true);171 sandbox.stub(helpers, 'ensureNetworkSpeed').returns('full');172 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package', networkSpeed: 'edge'});173 driver.isEmulator.calledOnce.should.be.true;174 helpers.ensureNetworkSpeed.calledOnce.should.be.true;175 });176 });177 describe('deleteSession', () => {178 beforeEach(async () => {179 driver = new AndroidDriver();180 driver.adb = new ADB();181 driver.bootstrap = new helpers.bootstrap(driver.adb);182 sandbox.stub(driver, 'stopChromedriverProxies');183 sandbox.stub(driver.adb, 'setIME');184 sandbox.stub(driver.adb, 'forceStop');185 sandbox.stub(driver.adb, 'goToHome');186 sandbox.stub(driver.adb, 'uninstallApk');187 sandbox.stub(driver.adb, 'stopLogcat');188 sandbox.stub(driver.bootstrap, 'shutdown');189 sandbox.spy(log, 'debug');190 });191 afterEach(() => {192 sandbox.restore();193 });194 it('should not do anything if Android Driver has already shut down', async () => {195 driver.bootstrap = null;196 await driver.deleteSession();197 log.debug.callCount.should.eql(3);198 driver.stopChromedriverProxies.called.should.be.false;199 driver.adb.stopLogcat.called.should.be.true;200 });201 it('should reset keyboard to default IME', async () => {202 driver.opts.unicodeKeyboard = true;203 driver.opts.resetKeyboard = true;204 driver.defaultIME = 'someDefaultIME';205 await driver.deleteSession();206 driver.adb.setIME.calledOnce.should.be.true;207 });208 it('should force stop non-Chrome sessions', async () => {209 await driver.deleteSession();210 driver.adb.forceStop.calledOnce.should.be.true;211 });212 it('should uninstall APK if required', async () => {213 driver.opts.fullReset = true;214 await driver.deleteSession();215 driver.adb.uninstallApk.calledOnce.should.be.true;216 });217 });218 describe('dismissChromeWelcome', () => {219 before(async () => {220 driver = new AndroidDriver();221 });222 it('should verify chromeOptions args', () => {223 driver.opts = {};224 driver.shouldDismissChromeWelcome().should.be.false;225 driver.opts = {chromeOptions: {}};226 driver.shouldDismissChromeWelcome().should.be.false;227 driver.opts = {chromeOptions: {args: []}};228 driver.shouldDismissChromeWelcome().should.be.false;229 driver.opts = {chromeOptions: {args: "--no-first-run"}};230 driver.shouldDismissChromeWelcome().should.be.false;231 driver.opts = {chromeOptions: {args: ["--disable-dinosaur-easter-egg"]}};232 driver.shouldDismissChromeWelcome().should.be.false;233 driver.opts = {chromeOptions: {args: ["--no-first-run"]}};234 driver.shouldDismissChromeWelcome().should.be.true;235 });236 });237 describe('initAUT', withMocks({helpers}, (mocks) => {238 beforeEach(async () => {239 driver = new AndroidDriver();240 driver.caps = {};241 });242 it('should throw error if run with full reset', async () => {243 driver.opts = {appPackage: "app.package", appActivity: "act", fullReset: true};244 await driver.initAUT().should.be.rejectedWith(/Full reset requires an app capability/);245 });246 it('should reset if run with fast reset', async () => {247 driver.opts = {appPackage: "app.package", appActivity: "act", fullReset: false, fastReset: true};248 driver.adb = "mock_adb";249 mocks.helpers.expects("resetApp").withExactArgs("mock_adb", undefined, "app.package", true);250 await driver.initAUT();251 mocks.helpers.verify();252 });253 it('should keep data if run without reset', async () => {254 driver.opts = {appPackage: "app.package", appActivity: "act", fullReset: false, fastReset: false};255 mocks.helpers.expects("resetApp").never();256 await driver.initAUT();257 mocks.helpers.verify();258 });259 }));260 describe('startAndroidSession', () => {261 beforeEach(async () => {262 driver = new AndroidDriver();263 driver.adb = new ADB();264 driver.bootstrap = new helpers.bootstrap(driver.adb);265 driver.settings = { update () {} };266 driver.caps = {};267 // create a fake bootstrap because we can't mock268 // driver.bootstrap.<whatever> in advance269 let fakeBootstrap = {start () {},270 onUnexpectedShutdown: {catch () {}}271 };272 sandbox.stub(helpers, 'initDevice');273 sandbox.stub(helpers, 'unlock');274 sandbox.stub(helpers, 'bootstrap').returns(fakeBootstrap);275 sandbox.stub(driver, 'initAUT');276 sandbox.stub(driver, 'startAUT');277 sandbox.stub(driver, 'defaultWebviewName');278 sandbox.stub(driver, 'setContext');279 sandbox.stub(driver, 'startChromeSession');280 sandbox.stub(driver, 'dismissChromeWelcome');281 sandbox.stub(driver.settings, 'update');282 sandbox.stub(driver.adb, 'getPlatformVersion');283 sandbox.stub(driver.adb, 'getScreenSize');284 sandbox.stub(driver.adb, 'getModel');285 sandbox.stub(driver.adb, 'getManufacturer');286 });287 afterEach(() => {288 sandbox.restore();289 });290 it('should set actual platform version', async () => {291 await driver.startAndroidSession();292 driver.adb.getPlatformVersion.calledOnce.should.be.true;293 });294 it('should auto launch app if it is on the device', async () => {295 driver.opts.autoLaunch = true;296 await driver.startAndroidSession();297 driver.initAUT.calledOnce.should.be.true;298 });299 it('should handle chrome sessions', async () => {300 driver.opts.browserName = 'Chrome';301 await driver.startAndroidSession();302 driver.startChromeSession.calledOnce.should.be.true;303 });304 it('should unlock the device', async () => {305 await driver.startAndroidSession();306 helpers.unlock.calledOnce.should.be.true;307 });308 it('should start AUT if auto lauching', async () => {309 driver.opts.autoLaunch = true;310 await driver.startAndroidSession();311 driver.initAUT.calledOnce.should.be.true;312 });313 it('should not start AUT if not auto lauching', async () => {314 driver.opts.autoLaunch = false;315 await driver.startAndroidSession();316 driver.initAUT.calledOnce.should.be.false;317 });318 it('should set the context if autoWebview is requested', async () => {319 driver.opts.autoWebview = true;320 await driver.startAndroidSession();321 driver.defaultWebviewName.calledOnce.should.be.true;322 driver.setContext.calledOnce.should.be.true;323 });324 it('should set the context if autoWebview is requested using timeout', async () => {325 driver.setContext.onCall(0).throws(errors.NoSuchContextError);326 driver.setContext.onCall(1).returns();327 driver.opts.autoWebview = true;328 driver.opts.autoWebviewTimeout = 5000;329 await driver.startAndroidSession();330 driver.defaultWebviewName.calledOnce.should.be.true;331 driver.setContext.calledTwice.should.be.true;332 });333 it('should respect timeout if autoWebview is requested', async function () {334 this.timeout(10000);335 driver.setContext.throws(new errors.NoSuchContextError());336 let begin = Date.now();337 driver.opts.autoWebview = true;338 driver.opts.autoWebviewTimeout = 5000;339 await driver.startAndroidSession().should.eventually.be.rejected;340 driver.defaultWebviewName.calledOnce.should.be.true;341 // we have a timeout of 5000ms, retrying on 500ms, so expect 10 times342 driver.setContext.callCount.should.equal(10);343 let end = Date.now();344 (end - begin).should.be.above(5000);345 });346 it('should not set the context if autoWebview is not requested', async () => {347 await driver.startAndroidSession();348 driver.defaultWebviewName.calledOnce.should.be.false;349 driver.setContext.calledOnce.should.be.false;350 });351 it('should set ignoreUnimportantViews cap', async () => {352 driver.opts.ignoreUnimportantViews = true;353 await driver.startAndroidSession();354 driver.settings.update.calledOnce.should.be.true;355 driver.settings.update.firstCall.args[0].ignoreUnimportantViews.should.be.true;356 });357 it('should not call dismissChromeWelcome on missing chromeOptions', async () => {358 driver.opts.browserName = 'Chrome';359 await driver.startAndroidSession();360 driver.dismissChromeWelcome.calledOnce.should.be.false;361 });362 it('should call dismissChromeWelcome', async () => {363 driver.opts.browserName = 'Chrome';364 driver.opts.chromeOptions = {365 "args" : ["--no-first-run"]366 };367 await driver.startAndroidSession();368 driver.dismissChromeWelcome.calledOnce.should.be.true;369 });370 });371 describe('validateDesiredCaps', () => {372 before(() => {373 driver = new AndroidDriver();374 });375 it('should throw an error if caps do not contain an app, package or valid browser', () => {376 expect(() => {377 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device'});378 }).to.throw(/must include/);379 expect(() => {380 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', browserName: 'Netscape Navigator'});381 }).to.throw(/must include/);382 });383 it('should not throw an error if caps contain an app, package or valid browser', () => {384 expect(() => {385 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', app: '/path/to/some.apk'});386 }).to.not.throw(Error);387 expect(() => {388 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', browserName: 'Chrome'});389 }).to.not.throw(Error);390 expect(() => {391 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', appPackage: 'some.app.package'});392 }).to.not.throw(/must include/);393 });394 it('should not be sensitive to platform name casing', () => {395 expect(() => {396 driver.validateDesiredCaps({platformName: 'AnDrOiD', deviceName: 'device', app: '/path/to/some.apk'});397 }).to.not.throw(Error);398 });399 it('should not throw an error if caps contain both an app and browser, for grid compatibility', () => {400 expect(() => {401 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', app: '/path/to/some.apk', browserName: 'iPhone'});402 }).to.not.throw(Error);403 });404 it('should not throw an error if caps contain androidScreenshotPath capability', () => {405 expect(() => {406 driver.validateDesiredCaps({platformName: 'Android', deviceName: 'device', app: '/path/to/some.apk', androidScreenshotPath: '/path/to/screenshotdir'});407 }).to.not.throw(Error);408 });409 });410 describe('proxying', () => {411 before(() => {412 driver = new AndroidDriver();413 driver.sessionId = 'abc';414 });415 describe('#proxyActive', () => {416 it('should exist', () => {417 driver.proxyActive.should.be.an.instanceof(Function);418 });419 it('should return false', () => {420 driver.proxyActive('abc').should.be.false;421 });422 it('should throw an error if session id is wrong', () => {423 (() => { driver.proxyActive('aaa'); }).should.throw;424 });425 });426 describe('#getProxyAvoidList', () => {427 it('should exist', () => {428 driver.getProxyAvoidList.should.be.an.instanceof(Function);429 });430 it('should return jwpProxyAvoid array', () => {431 let avoidList = driver.getProxyAvoidList('abc');432 avoidList.should.be.an.instanceof(Array);433 avoidList.should.eql(driver.jwpProxyAvoid);434 });435 it('should throw an error if session id is wrong', () => {436 (() => { driver.getProxyAvoidList('aaa'); }).should.throw;437 });438 });439 describe('#canProxy', () => {440 it('should exist', () => {441 driver.canProxy.should.be.an.instanceof(Function);442 });443 it('should return false', () => {444 driver.canProxy('abc').should.be.false;445 });446 it('should throw an error if session id is wrong', () => {447 (() => { driver.canProxy('aaa'); }).should.throw;448 });449 });450 });...
driver.js
Source:driver.js
...147 if (util.hasValue(this.opts.networkSpeed)) {148 if (!this.isEmulator()) {149 log.warn('Sorry, networkSpeed capability is only available for emulators');150 } else {151 const networkSpeed = ensureNetworkSpeed(this.adb, this.opts.networkSpeed);152 await this.adb.networkSpeed(networkSpeed);153 }154 }155 // check if we have to enable/disable gps before running the application156 if (util.hasValue(this.opts.gpsEnabled)) {157 if (this.isEmulator()) {158 log.info(`Trying to ${this.opts.gpsEnabled ? 'enable' : 'disable'} gps location provider`);159 await this.adb.toggleGPSLocationProvider(this.opts.gpsEnabled);160 } else {161 log.warn('Sorry! gpsEnabled capability is only available for emulators');162 }163 }164 await this.startAndroidSession(this.opts);165 return [sessionId, this.caps];...
Using AI Code Generation
1driver.ensureNetworkSpeed('GPRS');2driver.ensureNetworkSpeed('EDGE');3driver.ensureNetworkSpeed('UMTS');4driver.ensureNetworkSpeed('HSDPA');5driver.ensureNetworkSpeed('HSUPA');6driver.ensureNetworkSpeed('HSPA');7driver.ensureNetworkSpeed('HSPAP');8driver.ensureNetworkSpeed('LTE');9driver.ensureNetworkSpeed('FULL');10driver.enablePerformanceLogging();11driver.disablePerformanceLogging();12driver.getPerformanceData('com.example.android.testing.espresso.BasicSample', 'cpuinfo', 10);13driver.getPerformanceDataTypes();14driver.getSupportedPerformanceDataTypes();15driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', true, 10);16driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', false, 10);17driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', true, 10);18driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', false, 10);19driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', true, 10);20driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', false, 10);21driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', true, 10);22driver.togglePerformanceDataRecording('com.example.android.testing.espresso.BasicSample', 'cpuinfo', false, 10);
Using AI Code Generation
1var wd = require('wd');2var assert = require('assert');3var chai = require('chai');4var chaiAsPromised = require('chai-as-promised');5chai.use(chaiAsPromised);6var expect = chai.expect;7var should = chai.should();8var desiredCaps = {9};10 .init(desiredCaps)11 .then(function() {12 return driver.setNetworkSpeed('GPRS');13 })14 .then(function() {15 console.log('Network speed set to GPRS');16 })17 .nodeify(done);18var wd = require('wd');19var assert = require('assert');20var chai = require('chai');21var chaiAsPromised = require('chai-as-promised');22chai.use(chaiAsPromised);23var expect = chai.expect;24var should = chai.should();25var desiredCaps = {26};27 .init(desiredCaps)28 .then(function() {29 return driver.toggleWifi();30 })31 .then(function() {32 console.log('Wifi toggled');33 })34 .nodeify(done);35var wd = require('wd');36var assert = require('assert');37var chai = require('chai');38var chaiAsPromised = require('chai-as-promised');39chai.use(chaiAsPromised);40var expect = chai.expect;41var should = chai.should();
Using AI Code Generation
1var webdriverio = require('webdriverio');2var opts = {3 desiredCapabilities: {4 }5};6async function main() {7 let client = await webdriverio.remote(opts);8 await client.pause(5000);9 await client.deleteSession();10}11main();
Using AI Code Generation
1const driver = new androidDriver();2driver.ensureNetworkSpeed('GSM');3driver.ensureNetworkSpeed('GPRS');4driver.ensureNetworkSpeed('EDGE');5driver.ensureNetworkSpeed('UMTS');6driver.ensureNetworkSpeed('HSDPA');7driver.ensureNetworkSpeed('HSUPA');8driver.ensureNetworkSpeed('HSPA');9driver.ensureNetworkSpeed('LTE');10driver.ensureNetworkSpeed('EVDO');11driver.ensureNetworkSpeed('FULL');12commands.ensureNetworkSpeed = async function (speed) {13 const apiLevel = await this.adb.getApiLevel();14 if (apiLevel < 23) {15 log.warn(`Unable to set network speed. ` +16 `The current Android API Level is '${apiLevel}'. ` +17 `The minimum API Level supported is 23.`);18 return;19 }20 if (!_.includes(SUPPORTED_NETWORK_SPEEDS, speed)) {21 throw new Error(`Invalid network speed '${speed}'. ` +22 `Supported speeds are ${SUPPORTED_NETWORK_SPEEDS}`);23 }24 log.debug(`Setting network speed to ${speed}`);25 await this.adb.setNetworkSpeed(speed);26};27methods.setNetworkSpeed = async function (speed) {28 '-e', 'speed', speed];29 await this.shell(cmd);30};31methods.shell = async function (cmd, opts = {}) {32 if (!_.isArray(cmd)) {33 cmd = cmd.split(' ');34 }35 let stdout = '';36 let stderr = '';37 const process = await this.spawn(['shell', ...cmd], opts);38 if (opts.stdin) {39 if (opts.stdin instanceof Buffer) {40 process.stdin.write(opts.stdin);41 } else {42 process.stdin.write(opts.stdin.toString());43 }44 process.stdin.end();45 }46 if (opts.inputStream) {47 opts.inputStream.pipe(process.stdin);48 }49 if (opts.inputStream || opts.stdin) {50 process.stdin.on('error', (e) => {
Using AI Code Generation
1var webdriver = require('selenium-webdriver');2var driver = new webdriver.Builder()3 .forBrowser('chrome')4 .build();5driver.manage().window().maximize();6driver.manage().timeouts().implicitlyWait(10000);7driver.executeScript('mobile: ensureNetworkSpeed', {speed: 'wifi'});8driver.quit();9var webdriver = require('selenium-webdriver');10var driver = new webdriver.Builder()11 .forBrowser('chrome')12 .build();13driver.manage().window().maximize();14driver.manage().timeouts().implicitlyWait(10000);15driver.executeScript('mobile: ensureNetworkSpeed', {speed: 'gsm'});16driver.quit();17var webdriver = require('selenium-webdriver');18var driver = new webdriver.Builder()19 .forBrowser('chrome')20 .build();21driver.manage().window().maximize();22driver.manage().timeouts().implicitlyWait(10000);23driver.executeScript('mobile: toggleWiFi', {state: 'on'});24driver.quit();25var webdriver = require('selenium-webdriver');26var driver = new webdriver.Builder()27 .forBrowser('chrome')28 .build();29driver.manage().window().maximize();30driver.manage().timeouts().implicitlyWait(10000);31driver.executeScript('mobile: toggleWiFi', {state: 'off'});32driver.quit();33var webdriver = require('selenium-webdriver');34var driver = new webdriver.Builder()35 .forBrowser('chrome')36 .build();37driver.manage().window().maximize();38driver.manage().timeouts().implicitlyWait(10000);39driver.executeScript('mobile: toggleLocationServices', {state: 'on'});40driver.quit();41var webdriver = require('selenium-webdriver');42var driver = new webdriver.Builder()
Using AI Code Generation
1var wd = require('wd');2var assert = require('assert');3var caps = {4};5var driver = wd.promiseChainRemote('localhost', 4723);6 .init(caps)7 .then(function () {8 return driver.ensureNetworkSpeed("GSM");9 })10 .then(function () {11 return driver.ensureNetworkSpeed("GPRS");12 })13 .then(function () {14 return driver.ensureNetworkSpeed("EDGE");15 })16 .then(function () {17 return driver.ensureNetworkSpeed("HSCSD");18 })19 .then(function () {20 return driver.ensureNetworkSpeed("UMTS");21 })22 .then(function () {23 return driver.ensureNetworkSpeed("HSUPA");24 })25 .then(function () {26 return driver.ensureNetworkSpeed("HSDPA");27 })28 .then(function () {29 return driver.ensureNetworkSpeed("HSPA");30 })31 .then(function () {32 return driver.ensureNetworkSpeed("EVDO_0");33 })34 .then(function () {35 return driver.ensureNetworkSpeed("EVDO_A");36 })37 .then(function () {38 return driver.ensureNetworkSpeed("EVDO_B");39 })40 .then(function () {41 return driver.ensureNetworkSpeed("EHRPD");42 })43 .then(function () {44 return driver.ensureNetworkSpeed("LTE");45 })46 .then(function () {47 return driver.ensureNetworkSpeed("HSPAP");48 })49 .then(function () {50 return driver.ensureNetworkSpeed("IDEN");51 })52 .then(function () {53 return driver.ensureNetworkSpeed("1xRTT");54 })55 .then(function () {56 return driver.ensureNetworkSpeed("Unknown");57 })58 .then(function () {59 return driver.ensureNetworkSpeed("LTE_CA");60 })61 .then(function () {62 return driver.ensureNetworkSpeed("GSM");63 })64 .then(function () {65 return driver.ensureNetworkSpeed("GPRS");66 })67 .then(function () {68 return driver.ensureNetworkSpeed("EDGE");69 })70 .then(function () {71 return driver.ensureNetworkSpeed("HSCSD");72 })73 .then(function () {74 return driver.ensureNetworkSpeed("UMTS");
Using AI Code Generation
1const AndroidDriver = require('appium-android-driver');2const driver = new AndroidDriver();3driver.ensureNetworkSpeed('gsm');4driver.ensureNetworkSpeed('gsm', '3g');5driver.ensureNetworkSpeed('wifi');6driver.ensureNetworkSpeed('wifi', 'full');7driver.ensureNetworkSpeed('wifi', 'full', '100');8driver.ensureNetworkSpeed('airplane');9driver.ensureNetworkSpeed('airplane', '100');10const AndroidDriver = require('appium-android-driver');11const driver = new AndroidDriver();12driver.ensureNetworkSpeed('gsm');13driver.ensureNetworkSpeed('gsm', '3g');14driver.ensureNetworkSpeed('wifi');15driver.ensureNetworkSpeed('wifi', 'full');16driver.ensureNetworkSpeed('wifi', 'full', '100');17driver.ensureNetworkSpeed('airplane');18driver.ensureNetworkSpeed('airplane', '100');19const AndroidDriver = require('appium-android-driver');20const driver = new AndroidDriver();21driver.ensureNetworkSpeed('gsm');22driver.ensureNetworkSpeed('gsm', '3g');23driver.ensureNetworkSpeed('wifi');24driver.ensureNetworkSpeed('wifi', 'full');25driver.ensureNetworkSpeed('wifi', 'full', '100');26driver.ensureNetworkSpeed('airplane');27driver.ensureNetworkSpeed('airplane', '100');28const AndroidDriver = require('appium-android-driver');29const driver = new AndroidDriver();30driver.ensureNetworkSpeed('gsm');31driver.ensureNetworkSpeed('gsm', '3g');32driver.ensureNetworkSpeed('wifi');33driver.ensureNetworkSpeed('wifi', 'full');34driver.ensureNetworkSpeed('wifi', 'full', '100');35driver.ensureNetworkSpeed('airplane');36driver.ensureNetworkSpeed('airplane', '100');37const AndroidDriver = require('appium-android-driver');38const driver = new AndroidDriver();39driver.ensureNetworkSpeed('gsm');40driver.ensureNetworkSpeed('gsm', '3g');41driver.ensureNetworkSpeed('wifi');42driver.ensureNetworkSpeed('wifi', 'full');43driver.ensureNetworkSpeed('wifi', 'full', '100');44driver.ensureNetworkSpeed('airplane');45driver.ensureNetworkSpeed('airplane', '100');
Using AI Code Generation
1const { AndroidDriver } = require('appium-android-driver');2const adb = new AndroidDriver();3adb.ensureNetworkSpeed('gsm');4const { AndroidDriver } = require('appium-android-driver');5const adb = new AndroidDriver();6adb.ensureNetworkSpeed('gsm');7const { AndroidDriver } = require('appium-android-driver');8const adb = new AndroidDriver();9adb.ensureNetworkSpeed('gsm');10const { AndroidDriver } = require('appium-android-driver');11const adb = new AndroidDriver();12adb.ensureNetworkSpeed('gsm');13const { AndroidDriver } = require('appium-android-driver');14const adb = new AndroidDriver();15adb.ensureNetworkSpeed('gsm');16const { AndroidDriver } = require('appium-android-driver');17const adb = new AndroidDriver();18adb.ensureNetworkSpeed('gsm');19const { AndroidDriver } = require('appium-android-driver');20const adb = new AndroidDriver();21adb.ensureNetworkSpeed('gsm');22const { AndroidDriver } = require('appium-android-driver');23const adb = new AndroidDriver();24adb.ensureNetworkSpeed('gsm');25const { AndroidDriver } = require('appium-android-driver');26const adb = new AndroidDriver();27adb.ensureNetworkSpeed('gsm');28const { AndroidDriver } = require('appium-android-driver');29const adb = new AndroidDriver();30adb.ensureNetworkSpeed('gsm');31const { AndroidDriver } = require('appium-android-driver');
Using AI Code Generation
1var driver = new AndroidDriver();2driver.ensureNetworkSpeed(5);3driver.ensureNetworkSpeed(3);4driver.ensureNetworkSpeed(2);5driver.ensureNetworkSpeed(0);6driver.ensureNetworkSpeed(6);7var driver = new IosDriver();8driver.ensureNetworkSpeed(5);9driver.ensureNetworkSpeed(3);10driver.ensureNetworkSpeed(2);11driver.ensureNetworkSpeed(0);12driver.ensureNetworkSpeed(6);13var driver = new WindowsDriver();14driver.ensureNetworkSpeed(5);15driver.ensureNetworkSpeed(3);16driver.ensureNetworkSpeed(2);17driver.ensureNetworkSpeed(0);18driver.ensureNetworkSpeed(6);19var driver = new MacDriver();20driver.ensureNetworkSpeed(5);21driver.ensureNetworkSpeed(3);22driver.ensureNetworkSpeed(2);23driver.ensureNetworkSpeed(0);24driver.ensureNetworkSpeed(6);25var driver = new WebDriver();26driver.ensureNetworkSpeed(5);27driver.ensureNetworkSpeed(3);28driver.ensureNetworkSpeed(2);29driver.ensureNetworkSpeed(0);30driver.ensureNetworkSpeed(6);31var driver = new TizenDriver();32driver.ensureNetworkSpeed(5);33driver.ensureNetworkSpeed(3);34driver.ensureNetworkSpeed(2);35driver.ensureNetworkSpeed(0);36driver.ensureNetworkSpeed(6);37var driver = new AndroidDriver();38driver.ensureNetworkSpeed(5);39driver.ensureNetworkSpeed(3);40driver.ensureNetworkSpeed(2);41driver.ensureNetworkSpeed(0);42driver.ensureNetworkSpeed(6);43var driver = new AndroidDriver();44driver.ensureNetworkSpeed(5);45driver.ensureNetworkSpeed(3);46driver.ensureNetworkSpeed(2);47driver.ensureNetworkSpeed(0);48driver.ensureNetworkSpeed(6);49var driver = new AndroidDriver();50driver.ensureNetworkSpeed(5);51driver.ensureNetworkSpeed(3);52driver.ensureNetworkSpeed(2);53driver.ensureNetworkSpeed(0);54driver.ensureNetworkSpeed(6);
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!!