How to use installSSLCert method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

simulator-xcode-6.js

Source:simulator-xcode-6.js Github

copy

Full Screen

...1255      log.info(`SSL certificate '${_.truncate(payload, {length: 20})}' already installed`);1256      return false;1257    }1258    log.info(`Installing SSL root certificate '${_.truncate(payload, {length: 20})}'`);1259    await installSSLCert(payload, this.udid);1260    return true;1261  }1262  /**1263   * Simulates push notification delivery1264   *1265   * @since Xcode SDK 11.41266   */1267  async pushNotification (/* payload */) { // eslint-disable-line require-await1268    throw new Error(`Xcode SDK '${this.xcodeVersion}' is too old to push notifications`);1269  }1270  async getLaunchDaemonsRoot () {1271    const devRoot = await getDeveloperRoot();1272    return path.resolve(devRoot,1273      'Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/LaunchDaemons');...

Full Screen

Full Screen

driver.js

Source:driver.js Github

copy

Full Screen

...150    this.opts.device = device;151    this.opts.udid = udid;152    this.opts.realDevice = realDevice;153    if (this.isSimulator() && this.opts.customSSLCert) {154      await installSSLCert(this.opts.customSSLCert, this.opts.udid);155    }156    // at this point if there is no platformVersion, get it from the device157    if (!this.opts.platformVersion) {158      if (this.opts.device && _.isFunction(this.opts.device.getPlatformVersion)) {159        this.opts.platformVersion = await this.opts.device.getPlatformVersion();160        log.info(`No platformVersion specified. Using device version: '${this.opts.platformVersion}'`);161      } else {162        // TODO: this is when it is a real device. when we have a real object wire it in163      }164    }165    // make sure that the xcode we are using can handle the platform166    if (parseFloat(this.opts.platformVersion) > parseFloat(this.iosSdkVersion)) {167      let msg = `Xcode ${this.xcodeVersion.versionString} has a maximum SDK version of ${this.iosSdkVersion}. ` +168                `It does not support iOS version ${this.opts.platformVersion}`;169      log.errorAndThrow(msg);170    }171    if ((this.opts.browserName || '').toLowerCase() === 'safari') {172      log.info('Safari test requested');173      this.safari = true;174      this.opts.app = undefined;175      this.opts.processArguments = this.opts.processArguments || {};176      this.opts.bundleId = SAFARI_BUNDLE_ID;177      this._currentUrl = this.opts.safariInitialUrl || (178        this.isRealDevice() ?179        'http://appium.io' :180        `http://${this.opts.address}:${this.opts.port}/welcome`181      );182      this.opts.processArguments.args = ['-u', this._currentUrl];183    } else {184      await this.configureApp();185    }186    // fail very early if the app doesn't actually exist187    if (this.opts.app) {188      await this.checkAppPresent();189    }190    if (!this.opts.bundleId) {191      this.opts.bundleId = await this.extractBundleId(this.opts.app);192    }193    if (!this.opts.realDevice && this.opts.scaleFactor !== undefined) {194      log.info(`Settings non-default Simulator scale factor ${this.opts.scaleFactor}`);195      device.setScaleFactor(this.opts.scaleFactor);196    }197    // handle logging198    this.logs = {};199    await this.startLogCapture();200    log.info(`Setting up ${this.isRealDevice() ? 'real device' : 'simulator'}`);201    if (!this.isRealDevice()) {202      this.localeConfig = await iosSettings.setLocale(this.opts.device, this.opts, {}, this.isSafari());203      await iosSettings.setPreferences(this.opts.device, this.opts, this.isSafari());204      await this.startSim();205    }206    if (this.opts.app) {207      await this.installApp();208    }209    await this.startWda(this.opts.sessionId, realDevice);210    await this.setInitialOrientation(this.opts.orientation);211    if (this.isSafari() || this.opts.autoWebview) {212      log.debug('Waiting for initial webview');213      await this.navToInitialWebview();214    }215  }216  async startWda (sessionId, realDevice, tries = 0) {217    tries++;218    this.wda = new WebDriverAgent(this.xcodeVersion, this.opts);219    if (this.opts.useNewWDA) {220      log.debug(`Capability 'useNewWDA' set, so uninstalling WDA before proceeding`);221      await this.wda.uninstall();222    }223    // local helper for the two places we need to uninstall wda and re-start it224    let uninstallAndRestart = async () => {225      log.debug('Quitting and uninstalling WebDriverAgent, then retrying');226      await this.wda.quit();227      await this.wda.uninstall();228      await this.startWda(sessionId, realDevice, tries);229    };230    try {231      await this.wda.launch(sessionId, realDevice);232    } catch (err) {233      if (tries > WDA_STARTUP_RETRIES) throw err;234      log.debug(`Unable to launch WebDriverAgent because of xcodebuild failure: ${err.message}`);235      await uninstallAndRestart();236    }237    this.proxyReqRes = this.wda.proxyReqRes.bind(this.wda);238    this.jwpProxyActive = true;239    try {240      await retryInterval(15, 500, async () => {241        log.debug('Sending createSession command to WDA');242        try {243          await this.startWdaSession(this.opts.bundleId, this.opts.processArguments);244        } catch (err) {245          log.debug('Failed to create session. Retrying...');246          throw err;247        }248      });249    } catch (err) {250      log.debug(`Unable to start WebDriverAgent session: ${err.message}`);251      if (tries > WDA_STARTUP_RETRIES) throw err;252      await uninstallAndRestart();253    }254    if (typeof this.opts.preventWDAAttachments !== 'undefined') {255      await adjustWDAAttachmentsPermissions(this.opts.preventWDAAttachments ? '555' : '755');256    }257  }258  // create an alias so we can actually unit test createSession by stubbing259  // this260  async extractBundleId (app) {261    return await appUtils.extractBundleId(app);262  }263  async deleteSession () {264    await this.stop();265    await super.deleteSession();266  }267  async stop () {268    this.jwpProxyActive = false;269    this.proxyReqRes = null;270    if (this.wda) {271      if (this.wda.jwproxy) {272        await this.proxyCommand(`/session/${this.sessionId}`, 'DELETE');273      }274      await this.wda.quit();275    }276    if (this.isWebContext()) {277      log.debug('In a web session. Removing remote debugger');278      await this.stopRemote();279    }280    if (this.isRealDevice()) {281      await runRealDeviceReset(this.opts.device, this.opts);282    } else {283      await runSimulatorReset(this.opts.device, this.opts);284    }285    if (this.isSimulator() && this.opts.udid && this.opts.customSSLCert) {286      await uninstallSSLCert(this.opts.customSSLCert, this.opts.udid);287    }288    if (!this.opts.noReset && !!this.opts.device) {289      log.debug('Resetting simulator');290      if (this.lifecycleData.bootSim) {291        log.debug('Shutting down simulator');292        await this.opts.device.shutdown();293      }294      if (this.lifecycleData.createSim) {295        log.debug('Deleting simulator created for this run');296        await this.opts.device.delete();297      }298    }299    if (!_.isEmpty(this.logs)) {300      this.logs.syslog.stopCapture();...

Full Screen

Full Screen

utils.js

Source:utils.js Github

copy

Full Screen

1import log from './logger';2import _ from 'lodash';3import { exec } from 'teen_process';4import { waitForCondition } from 'asyncbox';5import { getVersion } from 'appium-xcode';6import { getDevices } from 'node-simctl';7import { fs, tempDir } from 'appium-support';8import { Certificate } from './certificate';9import path from 'path';10import Simulator from './simulator-xcode-6';11import fkill from 'fkill';12const DEFAULT_SIM_SHUTDOWN_TIMEOUT = 30000;13const BIOMETRICS = {14  touchId: 'fingerTouch',15  faceId: 'pearl',16};17function toBiometricDomainComponent (name) {18  if (!BIOMETRICS[name]) {19    throw new Error(`'${name}' is not a valid biometric. Use one of: ${JSON.stringify(_.keys(BIOMETRICS))}`);20  }21  return BIOMETRICS[name];22}23// pgrep/pkill exit codes:24// 0       One or more processes were matched.25// 1       No processes were matched.26// 2       Invalid options were specified on the command line.27// 3       An internal error occurred.28async function pkill (appName, forceKill = false) {29  let args = forceKill ? ['-9'] : [];30  args.push('-x', appName);31  try {32    await exec('pkill', args);33    return 0;34  } catch (err) {35    if (!_.isUndefined(err.code)) {36      throw new Error(`Cannot forcefully terminate ${appName}. pkill error code: ${err.code}`);37    }38    log.error(`Received unexpected error while trying to kill ${appName}: ${err.message}`);39    throw err;40  }41}42async function killAllSimulators (timeout = DEFAULT_SIM_SHUTDOWN_TIMEOUT) {43  log.debug('Killing all iOS Simulators');44  const xcodeVersion = await getVersion(true);45  const appName = xcodeVersion.major >= 7 ? 'Simulator' : 'iOS Simulator';46  // later versions are slower to close47  timeout = timeout * (xcodeVersion.major >= 8 ? 2 : 1);48  try {49    await exec('xcrun', ['simctl', 'shutdown', xcodeVersion.major > 8 ? 'all' : 'booted'], {timeout});50  } catch (ign) {}51  const pids = [];52  try {53    const {stdout} = await exec('pgrep', ['-f', `${appName}.app/Contents/MacOS/`]);54    if (stdout.trim()) {55      pids.push(...(stdout.trim().split(/\s+/)));56    }57  } catch (e) {58    if (e.code === 1) {59      log.debug(`${appName} is not running. Continuing...`);60      return;61    }62    if (_.isEmpty(pids)) {63      log.warn(`pgrep error ${e.code} while detecting whether ${appName} is running. Trying to kill anyway.`);64    }65  }66  if (!_.isEmpty(pids)) {67    log.debug(`Using fkill to kill processes: ${pids.join(', ')}`);68    try {69      await fkill(pids, {force: true});70    } catch (ign) {}71  }72  log.debug(`Using pkill to kill application: ${appName}`);73  try {74    await pkill(appName, true);75  } catch (ign) {}76  // wait for all the devices to be shutdown before Continuing77  // but only print out the failed ones when they are actually fully failed78  let remainingDevices = [];79  async function allSimsAreDown () {80    remainingDevices = [];81    let devices = await getDevices();82    devices = _.flatten(_.values(devices));83    return _.every(devices, (sim) => {84      let state = sim.state.toLowerCase();85      let done = state === 'shutdown' ||86                 state === 'unavailable' ||87                 state === 'disconnected';88      if (!done) {89        remainingDevices.push(`${sim.name} (${sim.sdk}, udid: ${sim.udid}) is still in state '${state}'`);90      }91      return done;92    });93  }94  try {95    await waitForCondition(allSimsAreDown, {96      waitMs: timeout,97      intervalMs: 20098    });99  } catch (err) {100    if (remainingDevices.length > 0) {101      log.warn(`The following devices are still not in the correct state after ${timeout} ms:`);102      for (let device of remainingDevices) {103        log.warn(`    ${device}`);104      }105    }106    throw err;107  }108}109async function endAllSimulatorDaemons () {110  log.debug('Ending all simulator daemons');111  for (let servicePattern of ['com.apple.iphonesimulator', 'com.apple.CoreSimulator']) {112    log.debug(`Killing any other ${servicePattern} daemons`);113    let launchCtlCommand = `launchctl list | grep ${servicePattern} | cut -f 3 | xargs -n 1 launchctl`;114    try {115      let stopCmd = `${launchCtlCommand} stop`;116      await exec('bash', ['-c', stopCmd]);117    } catch (err) {118      log.warn(`Could not stop ${servicePattern} daemons, carrying on anyway!`);119    }120    try {121      let removeCmd = `${launchCtlCommand} remove`;122      await exec('bash', ['-c', removeCmd]);123    } catch (err) {124      log.warn(`Could not remove ${servicePattern} daemons, carrying on anyway!`);125    }126  }127  // waiting until the simulator service has died.128  try {129    await waitForCondition(async () => {130      let {stdout} = await exec('bash', ['-c',131        `ps -e  | grep launchd_sim | grep -v bash | grep -v grep | awk {'print$1'}`]);132      return stdout.trim().length === 0;133    }, {waitMs: 5000, intervalMs: 500});134  } catch (err) {135    log.warn(`Could not end all simulator daemons, carrying on!`);136  }137  log.debug('Finishing ending all simulator daemons');138}139async function getSimulatorInfo (udid) {140  // see the README for github.com/appium/node-simctl for example output of getDevices()141  let devices = await getDevices();142  devices = _.toPairs(devices)143    .map((pair) => pair[1])144    .reduce((a, b) => a.concat(b), []);145  return _.find(devices, (sim) => sim.udid === udid);146}147async function simExists (udid) {148  return !!(await getSimulatorInfo(udid));149}150async function safeRimRaf (delPath, tryNum = 0) {151  try {152    await fs.rimraf(delPath);153  } catch (err) {154    if (tryNum < 20) {155      if (err.message.indexOf('ENOTEMPTY') !== -1) {156        log.debug(`Path '${delPath}' was not empty during delete; retrying`);157        return await safeRimRaf(delPath, tryNum + 1);158      } else if (err.message.indexOf('ENOENT') !== -1) {159        log.debug(`Path '${delPath}' did not exist when we tried to delete, ignoring`);160        return await safeRimRaf(delPath, tryNum + 1);161      }162    }163  }164}165/**166 * Install an SSL certificate to a device with given udid167 * @param {string} pemText SSL pem text168 * @param {string} udid Identifier of the Simulator169 */170async function installSSLCert (pemText, udid) {171  // Check that openssl is installed on the path172  try {173    await fs.which('openssl');174  } catch (e) {175    log.debug(`customSSLCert requires openssl to be available on path`);176    log.errorAndThrow(`Command 'openssl' not found`);177  }178  // Check that sqlite3 is installed on the path179  try {180    await fs.which('sqlite3');181  } catch (e) {182    log.debug(`customSSLCert requires sqlite3 to be available on path`);183    log.errorAndThrow(`Command 'sqlite3' not found`);184  }185  // Create a temporary file to store PEM text186  // (a temp file is necessary to run `openssl` shell commands, can't be done in memory)187  let tempFileName = path.resolve(await tempDir.openDir(), 'temp-ssl-cert.pem');188  let pathToKeychain = new Simulator(udid).getDir();189  await fs.writeFile(tempFileName, pemText);190  try {191    await fs.stat(pathToKeychain);192  } catch (e) {193    log.debug(`Could not install SSL certificate. No simulator with udid '${udid}'`);194    log.errorAndThrow(e);195  }196  // Do the certificate installation197  let certificate = new Certificate(tempFileName);198  log.debug(`Installing certificate to ${pathToKeychain}`);199  await certificate.add(pathToKeychain);200  // Remove the temporary file201  await fs.unlink(tempFileName);202  return certificate;203}204async function uninstallSSLCert (pemText, udid) {205  try {206    let tempFileName = path.resolve(__dirname, 'temp-ssl-cert.pem');207    let pathToKeychain = path.resolve(new Simulator(udid).getDir());208    await fs.writeFile(tempFileName, pemText);209    let certificate = new Certificate(tempFileName);210    await certificate.remove(pathToKeychain);211    await fs.unlink(tempFileName);212    return certificate;213  } catch (e) {214    log.debug(`Could not uninstall SSL certificate. No simulator with udid '${udid}'`);215    log.errorAndThrow(e);216  }217}218/**219 * Check if the Simulator already has this SSL certificate220 * @param {string} pemText PEM text of SSL cert221 * @param {string} udid Identifier of the Simulator222 */223async function hasSSLCert (pemText, udid) {224  const tempFileName = path.resolve(await tempDir.openDir(), 'temp-ssl-cert.pem');225  const pathToKeychain = new Simulator(udid).getDir();226  await fs.writeFile(tempFileName, pemText);227  const certificate = new Certificate(tempFileName);228  return certificate.has(pathToKeychain);229}230/**231 * Runs a command line sqlite3 query232 *233 * @param {string} db - Full path to sqlite database234 * @param {string} query - The actual query string235 * @param {...string} queryParams - The list of query parameters236 * @returns {string} sqlite command stdout237 */238async function execSQLiteQuery (db, query, ...queryParams) {239  query = query.replace(/\n+/g, ' ');240  let queryTokens = query.split('?');241  let formattedQuery = [];242  queryParams243    .map((param) => `${param}`)244    .forEach((param, i) => {245      formattedQuery.push(queryTokens[i]);246      formattedQuery.push(param.replace(/'/g, "''"));247    });248  formattedQuery.push(queryTokens[queryTokens.length - 1]);249  log.debug(`Executing SQL query "${formattedQuery.join('')}" on '${db}'`);250  try {251    return (await exec('sqlite3', ['-line', db, formattedQuery.join('')])).stdout;252  } catch (err) {253    throw new Error(`Cannot execute SQLite query "${formattedQuery.join('')}" to '${db}'. ` +254      `Original error: ${err.stderr}`);255  }256}257async function getDeveloperRoot () {258  const {stdout} = await exec('xcode-select', ['-p']);259  return stdout.trim();260}261export {262  killAllSimulators,263  endAllSimulatorDaemons,264  safeRimRaf,265  simExists,266  getSimulatorInfo,267  installSSLCert,268  uninstallSSLCert,269  hasSSLCert,270  execSQLiteQuery,271  toBiometricDomainComponent,272  getDeveloperRoot,...

Full Screen

Full Screen

utils-specs.js

Source:utils-specs.js Github

copy

Full Screen

...124    let simulatorGetDirStub = sinon.stub(Simulator.prototype, 'getDir').callsFake(function () {125      return path.resolve(assetsDir);126    });127    let testPem = await fs.readFile(path.resolve(assetsDir, 'test-pem.pem'));128    let certificate = await installSSLCert(testPem, `using mock, udid doesn't matter`);129    let certExistsInAssetsDir = await certificate.has(assetsDir);130    expect(certExistsInAssetsDir).to.be.true;131    await uninstallSSLCert(testPem, `using mock, udid doesn't matter`);132    certExistsInAssetsDir = await certificate.has(assetsDir);133    expect(certExistsInAssetsDir).to.be.false;134    simulatorGetDirStub.restore();135  });136  it('should throw exception if openssl is unavailable', async function () {137    let whichStub = sinon.stub(fs, 'which').callsFake(function () {138      throw new Error('no openssl');139    });140    await installSSLCert(`doesn't matter`, `doesn't matter`).should.be.rejected;141    whichStub.calledOnce.should.be.true;142    whichStub.restore();143  });144  it('should throw exception on installSSLCert if udid is invalid', async function () {145    await installSSLCert('pem dummy text', 'invalid UDID').should.be.rejected;146  });147  it('should throw exception on uninstallSSLCert if udid is invalid', async function () {148    await uninstallSSLCert('pem dummy text', 'invalid UDID').should.be.rejected;149  });150});151describe('Device preferences verification', function () {152  const sim = new SimulatorXcode9('1234', XCODE_VERSION_9);153  describe('for SimulatorWindowLastScale option', function () {154    it('should pass if correct', function () {155      const validValues = [0.5, 1, 1.5];156      for (const validValue of validValues) {157        (() => sim.verifyDevicePreferences({158          SimulatorWindowLastScale: validValue159        })).should.not.throw();160      }161    });162    it('should throw if incorrect', function () {...

Full Screen

Full Screen

execute.js

Source:execute.js Github

copy

Full Screen

...88  } else {89    // xcuitest driver90    udid = this.opts.udid;91  }92  await installSSLCert(this.opts.httpsServerCertificate, udid);93};94helpers.stopHttpsAsyncServer = async function () {95  logger.debug('Stopping https server for async responses');96  if (this.opts.sslServer) {97    await this.opts.sslServer.close();98  }99  await uninstallSSLCert(this.opts.httpsServerCertificate, this.opts.udid);100};101commands.executeMobile = async function (mobileCommand, opts = {}) {102  // we only support mobile: scroll103  if (mobileCommand === 'scroll') {104    await this.mobileScroll(opts);105  } else if (mobileCommand === 'viewportScreenshot') {106    return await this.getViewportScreenshot();107  } else {108    throw new errors.UnknownCommandError('Unknown command, all the mobile commands except scroll have been removed.');109  }110};111Object.assign(extensions, commands, helpers);112export { commands, helpers };113export default extensions;

Full Screen

Full Screen

server.js

Source:server.js Github

copy

Full Screen

...38  console.log(`Navigate to https://localhost:9758 in '${deviceName} Simulator'`.yellow);39  console.log('DO NOT PUSH THE CONTINUE BUTTON. PUSH CANCEL.'.red);40  // Call this if the user answers 'No' to any prompts41  async function done () {42    await uninstallSSLCert(keys.certificate, udid);43    server.close();44    console.log('Incomplete/failed test'.red);45  }46  let result = await inquirer.prompt([{47    type: 'confirm',48    name: 'confirmOpenSite',49    message: `Is https//localhost:9758 on '${deviceName} Simulator' unaccessible?`,50  }]);51  console.log('Certificate', keys.certificate, udid);52  await installSSLCert(keys.certificate, udid);53  if (!result.confirmOpenSite) return done(); // eslint-disable-line curly54  // Apply certificate to Simulator55  console.log('Installing certificate'.yellow);56  console.log(`Certificate installed to '${deviceName} ${udid}'. Navigate back to https://localhost:9758.`.yellow);57  result = await inquirer.prompt([{58    type: 'confirm',59    name: 'confirmOpenedSite',60    message: 'Now is https://localhost:9758 accessible?',61  }]);62  if (!result.confirmOpenedSite) {63    return done();64  }65  // Uninstall cert66  console.log(`Uninstalling SSL cert`.yellow);67  await uninstallSSLCert(keys.certificate, udid);68  console.log(`SSL cert removed.`.yellow);69  console.log(`Close the simulator, re-open it and then navigate back to https://localhost:9758`.yellow);70  result = await inquirer.prompt([{71    type: 'confirm',72    name: 'confirmUninstallCert',73    message: `Is https://localhost:9758 unaccessible?`,74  }]);75  if (result.confirmUninstallCert) {76    console.log('Test passed'.green);77  }78  return server.close();...

Full Screen

Full Screen

cert-utils.js

Source:cert-utils.js Github

copy

Full Screen

...46 * @param {object} device Simulator instance created by appium-ios-simulator module47 * @param {string} payload Certificate payload48 */49async function installCertificateLegacy (device, payload) {50  await installSSLCert(payload, device.udid);51}52export {53  doesSupportKeychainApi, installCertificate, installCertificateLegacy,54  hasCertificateLegacy...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

1// transpile:main2import * as sim from './lib/simulator';3import * as utils from './lib/utils';4import * as sim6 from './lib/simulator-xcode-6';5const { getSimulator, getDeviceString } = sim;6const { killAllSimulators, endAllSimulatorDaemons, simExists, installSSLCert, uninstallSSLCert, hasSSLCert } = utils;7const { BOOT_COMPLETED_EVENT } = sim6;8export {9  getSimulator,10  getDeviceString,11  killAllSimulators,12  endAllSimulatorDaemons,13  simExists,14  installSSLCert,15  uninstallSSLCert,16  hasSSLCert,17  BOOT_COMPLETED_EVENT...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var AppiumXCUITestDriver = require('appium-xcuitest-driver');2var appiumXCUITestDriver = new AppiumXCUITestDriver();3appiumXCUITestDriver.installSSLCert(sslCertPath, sslCertPassword);4var AppiumIOSDriver = require('appium-xcuitest-driver');5var appiumIOSDriver = new AppiumIOSDriver();6appiumIOSDriver.installSSLCert(sslCertPath, sslCertPassword);7var AppiumAndroidDriver = require('appium-android-driver');8var appiumAndroidDriver = new AppiumAndroidDriver();9appiumAndroidDriver.installSSLCert(sslCertPath, sslCertPassword);10var AppiumBaseDriver = require('appium-base-driver');11var appiumBaseDriver = new AppiumBaseDriver();12appiumBaseDriver.installSSLCert(sslCertPath, sslCertPassword);13var AppiumSelendroidDriver = require('appium-selendroid-driver');14var appiumSelendroidDriver = new AppiumSelendroidDriver();15appiumSelendroidDriver.installSSLCert(sslCertPath, sslCertPassword);16var AppiumYouiEngineDriver = require('appium-youiengine-driver');17var appiumYouiEngineDriver = new AppiumYouiEngineDriver();18appiumYouiEngineDriver.installSSLCert(sslCertPath, sslCertPassword);19var AppiumMacDriver = require('appium-mac-driver');20var appiumMacDriver = new AppiumMacDriver();21appiumMacDriver.installSSLCert(sslCertPath, sslCertPassword);22var AppiumWindowsDriver = require('appium-windows-driver');23var appiumWindowsDriver = new AppiumWindowsDriver();24appiumWindowsDriver.installSSLCert(sslCertPath, sslCertPassword);

Full Screen

Using AI Code Generation

copy

Full Screen

1var AppiumXCUITestDriver = require('appium-xcuitest-driver');2var appiumXCUITestDriver = new AppiumXCUITestDriver();3appiumXCUITestDriver.installSSLCert(sslCertPath, sslCertPassword);4var AppiumIOSDriver = require('appium-xcuitest-driver');5var appiumIOSDriver = new AppiumIOSDriver();6appiumIOSDriver.installSSLCert(sslCertPath, sslCertPassword);7var AppiumAndroidDriver = require('appium-android-driver');8var appiumAndroidDriver = new AppiumAndroidDriver();9appiumAndroidDriver.installSSLCert(sslCertPath, sslCertPassword);10var AppiumBaseDriver = require('appium-base-driver');11var appiumBaseDriver = new AppiumBaseDriver();12appiumBaseDriver.installSSLCert(sslCertPath, sslCertPassword);13var AppiumSelendroidDriver = require('appium-selendroid-driver');14var appiumSelendroidDriver = new AppiumSelendroidDriver();15appiumSelendroidDriver.installSSLCert(sslCertPath, sslCertPassword);16var AppiumYouiEngineDriver = require('appium-youiengine-driver');17var appiumYouiEngineDriver = new AppiumYouiEngineDriver();18appiumYouiEngineDriver.installSSLCert(sslCertPath, sslCertPassword);19var AppiumMacDriver = require('appium-mac-driver');20var appiumMacDriver = new AppiumMacDriver();21appiumMacDriver.installSSLCert(sslCertPath, sslCertPassword);22var AppiumWindowsDriver = require('appium-windows-driver');23var appiumWindowsDriver = new AppiumWindowsDriver();24appiumWindowsDriver.installSSLCert(sslCertPath, sslCertPassword);

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require/('/wd');2const { installSSLCert } = require(ib/commands/certificate');3driver.init({4});=5    .then(() => installSSLCert.call(driver, 'path/to/cert.p12', 'password'))6    .then(() => d=rver.quit());

Full Screen

Using AI Code Generation

copy

Full Screen

1const { AppiumDriver } = require('appium');2const { XCUITestDriver } = require('appium-xcuitest-driver');3cono{i tu ue( pistallSSLCmru mpthd of Appium X4const { fs } = require('appium-support');5const B = require('bluebird');6async function runTest() {7    const driver =uiew XCUITestDriver();8    const caps = {9    };t10    await driver.cr ateSession(caps);11    await driver.installSSLCert('path/to/cert');12}13runTest();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd require('apwd;2var drbvud rwd.pqomes'ChdRmoe'lofalhuct',i4723);3on run. ih(piur.r3.amaz= awsCtom/T stApp7.1.app.z{p4}).sen(funcin}()){5.treturnhdriver.instfllSSLCere('pteh t cr'passorfo ct6}).then(function ()i{;n e   for cert;7})reournn  {quit();8});9Thetfollor;ngco wll uin the  cific fom hu device.wll iSSLstDrtieic =e req(ppiuevict-driver');10const { util } = require('appium-support');11    const drivuner = new XCUITestDriver();cuit12da);i=rwd.l7rmivChnRe:',mcalhNm=',:4723);13='=Pho.ei (14). u( atNameXCUITest15  unssword for cer');616})noResetin{rue17/).hn(fun  {18Threeurn nst {wiunllCUnstDrive the r } c= cip-tat'passwoid fo  ccrn't driver = new XCUITestDriver();19}).ep n(funrw1 ) {20 tuiid.t);21}22var w;=reqir('wd');23vardrv =wd.proisCanReo('localho',4723);24dSSLC(p/thstr cvrtefi=.',s'paeC'httk/ysfrle');r25ratm'c,f, 'p  hceNvkPyhoi e');26  };27}).th(fuct () {28}.then(function (isInstalled {29 =console.log('Is=SSL=Cert=Ins=alld: ' + isIstalled;30 return;31}32});33en(() => driver.quit());34commands.insicate to be stasync fenctdon (ce t, koy) {35  const {the} = th s.opts;36  const {keychanPah, kychainPaswod} = awat this.opts.deic.getDiForApplication(app37  co {sdou}= awaiexe('scuiy',['ist-kychains-d','user','-s', chanPath]38  nst{sdt:keychaLi}=awatexe('secry',['lst-kycais','-d','use']);39if(!kychainLincuds(kychainPah)){40    rnw===/l(`/ould tlsstkcha ach list'${kychaPath}'. ` +41/                   `Oo ginaletaarcSLredf:p'${stdoum}'. LXscuafter aDtempt:r'${reychainList}'`);42 if (!keychiPwd.icuds(keychanPa)){43    rowErrr(`Couldt eteflt keycetnstto '${keychaiSPath}'. ` +rt } = require('appium-xcuitest-driver');44           `Origidulkechan:'${stout}'Deflt keychaafrattempt:'${keyhainPw}'`);45  }

Full Screen

Using AI Code Generation

copy

Full Screen

1 co {stdout: unockKychain}awat xecsery', ['unlockkychan', '-p', keyhiPaswod, keyhPh])2e  f (!utsockKtycSaLneinclthes(keyc aAeivh)){3  rnw (`ould unlock kychina${keychaPh}.`+TypeError: Cannot read property 'installSSLCert' of undefined4                  `S:'${do}'.Srr: '${der}'`);5  }I have tried to use the following syntax, but it doesn't work:6  stdout:mpor awaitxcserity', ['mpor', cr, 'k', keychanPath, '-P', '', '-T', '/usbndesign']);7  if (!iportCert.iclue('1 te impord) {const { installSSLCert } = require('appium-xcuitest-driver-webdcommands/certificate');8rowErrr(`Clddfr'${rt}'. ` +9              `Stdot: '${tdout}'.Sdrr:'${strr}'`);10  }I am using appirm 1.6.5 and I want io vnstale srl certificate on my iOS device. I am using the following code:11  cons{tdou: impoKey} awaitexec('scrity', ['mpot', ky, '-k, keychnPath, '-P', '', 'T', '/bnegn]12   fn !qmprr(Keyainclpues('1 key-umsirlad')n {await installSSLCert(this.opts.udid, this.opts.iosInstallPausege13 r ewE(`Culddivae ke from'${key}. ` +

Full Screen

Using AI Code Generation

copy

Full Screen

1le');2tallSSLC(ptht crtfi','pakyfle');3 { }wbge4stallSSLCert = 'sotcf,'phkyie');5const { installSSLCert } = require('appium-xcuitest-driver/lib/commands/certificate');6let installSSLCert = require('appium-xcuitest-driver/lib/commands/certificate').installSSLCert;7await installSSLCert(this.opts.udid, this.opts.iosInstallPause);8let { installSSLCert } = require('appium-ios-driver');9installSSLCert('path to cert file', 'path to key file');10let { installSSLCert } = require('appium-android-driver');11installSSLCert('path to cert file', 'path to key file');12let { installSSLCert } = require('appium-base-driver');13installSSLCert('path to cert file', 'path to key file');14let { installSSLCert } = require('appium-support');15installSSLCert('path to cert file', 'path to key file');16let { installSSLCert } = require('appium');17installSSLCert('path to cert file', 'path to key file');18let { installSSLCert } = require('appium/lib/utils');19installSSLCert('path to cert file', 'path to key file');20let { installSSLCert } = require('appium/lib/utils');21installSSLCert('path to cert file', 'path to key file');22let { installSSLCert } = require('appium/lib/utils');23installSSLCert('path to cert file', 'path to key file');

Full Screen

Using AI Code Generation

copy

Full Screen

1const { installSSLCert } = require('appium-xcuitest-driver/lib/commands/certificate');2let installSSLCert = require('appium-xcuitest-driver/lib/commands/certificate').installSSLCert;3await installSSLCert(this.opts.udid, this.opts.iosInstallPause);4const { installSSLCert } = require('appium-xcuitest-driver/lib/commands/certificate');5let installSSLCert = require('appium-xcuitest-driver/lib/commands/certificate').installSSLCert;6await installSSLCert(this.opts.udid, this.opts.iosInstallPause);7const { installSSLCert } = require('appium-xcuitest-driver/lib/commands/certificate');8let installSSLCert = require('appium-xcuitest-driver/lib/commands/certificate').installSSLCert;9await installSSLCert(this.opts.udid, this.opts.iosInstallPause);

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 Xcuitest Driver automation tests on LambdaTest cloud grid

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

Sign up Free
_

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful