Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'appium-adb' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
describe('unicode', function () {
let adb;
if (!process.env.TESTOBJECT_E2E_TESTS) {
adb = new ADB();
}
let initialIME;
let driver;
before(async function () {
// save the initial ime so we can make sure it is restored
if (adb) {
initialIME = await adb.defaultIME();
initialIME.should.not.eql('io.appium.settings/.UnicodeIME');
}
driver = await initSession(defaultUnicodeCaps);
});
after(async function () {
await deleteSession();
// make sure the IME has been restored
before(async function () {
// Don't test ADB on test object
if (process.env.TESTOBJECT_E2E_TESTS) {
this.skip();
}
// restarting doesn't work on Android 7+
adb = new ADB();
initialLocale = await getLocale(adb);
});
afterEach(async function () {
beforeEach(function () {
driver = new AndroidDriver();
driver.adb = new ADB();
driver.bootstrap = new helpers.bootstrap(driver.adb);
driver.settings = { update () {} };
driver.caps = {};
// create a fake bootstrap because we can't mock
// driver.bootstrap. in advance
let fakeBootstrap = {
start () {},
onUnexpectedShutdown: {catch () {}}
};
sandbox.stub(helpers, 'initDevice');
sandbox.stub(helpers, 'unlock');
sandbox.stub(helpers, 'bootstrap').returns(fakeBootstrap);
sandbox.stub(driver, 'initAUT');
sandbox.stub(driver, 'startAUT');
before(async function () {
if (process.env.TRAVIS) return this.skip(); // eslint-disable-line curly
let adb = new ADB();
if (!await adb.isAppInstalled('com.android.browser')) {
if (!await adb.isAppInstalled('com.android.chrome')) {
throw new Error('Neither default browser nor chrome available');
}
// `browser` is not available, so use `Chrome`
caps.browserName = 'Chrome';
urlId = 'com.android.chrome:id/url_bar';
}
driver = new AndroidDriver();
await driver.createSession(caps);
});
after(async function () {
async function killServer (adbPort) {
if (!process.env.TESTOBJECT_E2E_TESTS) {
let adb = await ADB.createADB({adbPort});
await adb.killServer();
if (process.env.CI) {
// on Travis this takes a while to get into a good state
await B.delay(10000);
}
}
}
async function initSession (caps, adbPort) {
if (TRAVIS && !CLOUD) {
let adb = await ADB.createADB({adbPort});
try {
// on Travis, sometimes we get the keyboard dying and the screen stuck
await adb.forceStop('com.android.inputmethod.latin');
await adb.shell(['pm', 'clear', 'com.android.inputmethod.latin']);
} catch (ign) {}
}
if (CLOUD) {
// on cloud tests, we want to set the `name` capability
if (!caps.name) {
caps.name = process.env.SAUCE_JOB_NAME || process.env.TRAVIS_JOB_NUMBER || 'unnamed';
}
}
// Create a WD driver
const host = getHost();
// Gets adb from npm package and setup logger
"use strict";
var ADB = require('appium-adb');
ADB.logger.init(require('../../server/logger').get('appium'));
module.exports = ADB;
// this list should be updated as ADB takes more arguments
const {
adbPort,
suppressKillServer,
remoteAdbHost,
clearDeviceLogsOnStart,
adbExecTimeout,
useKeystore,
keystorePath,
keystorePassword,
keyAlias,
keyPassword,
remoteAppsCacheLimit,
buildToolsVersion,
} = opts;
return await ADB.createADB({
adbPort,
suppressKillServer,
remoteAdbHost,
clearDeviceLogsOnStart,
adbExecTimeout,
useKeystore,
keystorePath,
keystorePassword,
keyAlias,
keyPassword,
remoteAppsCacheLimit,
buildToolsVersion,
});
};
describe('sharedPreferences', function () {
driver = new AndroidDriver();
let adb = new ADB();
driver.adb = adb;
let builder = new SharedPrefsBuilder();
describe('should skip setting sharedPreferences', withMocks({driver}, (mocks) => {
it('on undefined name', async function () {
driver.opts.sharedPreferences = {};
(await driver.setSharedPreferences()).should.be.false;
mocks.driver.verify();
});
}));
describe('should set sharedPreferences', withMocks({driver, adb, builder, fs}, (mocks) => {
it('on defined sharedPreferences object', async function () {
driver.opts.appPackage = 'io.appium.test';
driver.opts.sharedPreferences = {
name: 'com.appium.prefs',
prefs: [{type: 'string', name: 'mystr', value: 'appium rocks!'}]
};
describe('UiAutomator2 Driver Helpers', function () {
const adb = new ADB();
describe('ensureInternetPermissionForApp', withMocks({adb}, (mocks) => {
const app = '/path/to/app.apk';
afterEach(function () {
mocks.verify();
});
it('should do nothing if app has internet perms', async function () {
mocks.adb.expects('hasInternetPermissionFromManifest')
.once()
.withExactArgs(app)
.returns(true);
await helpers.ensureInternetPermissionForApp(adb, app);
});
it('should throw an error if app does not have internet perms', async function () {
mocks.adb.expects('hasInternetPermissionFromManifest')
.once()