How to use driver.createSession method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

driver-specs.js

Source:driver-specs.js Github

copy

Full Screen

...20 describe('createSession', function () {21 it('should throw an error if app can not be found', async function () {22 let driver = new AndroidUiautomator2Driver({}, false);23 defaultStub(driver);24 await driver.createSession({app: 'foo.apk'}).should.be.rejectedWith('does not exist or is not accessible');25 });26 it('should set sessionId', async function () {27 let driver = new AndroidUiautomator2Driver({}, false);28 defaultStub(driver);29 sinon.mock(driver).expects('checkAppPresent')30 .once()31 .returns(B.resolve());32 sinon.mock(driver).expects('startUiAutomator2Session')33 .once()34 .returns(B.resolve());35 await driver.createSession({cap: 'foo', browserName: 'chrome'});36 driver.sessionId.should.exist;37 driver.caps.cap.should.equal('foo');38 });39 it('should set the default context', async function () {40 let driver = new AndroidUiautomator2Driver({}, false);41 defaultStub(driver);42 sinon.mock(driver).expects('checkAppPresent')43 .returns(B.resolve());44 sinon.mock(driver).expects('startUiAutomator2Session')45 .returns(B.resolve());46 await driver.createSession({browserName: 'chrome'});47 driver.curContext.should.equal('NATIVE_APP');48 });49 });50 describe('checkAppPresent', async function () {51 it('should resolve if app present', async function () {52 let driver = new AndroidUiautomator2Driver({}, false);53 defaultStub(driver);54 let app = path.resolve('.');55 sinon.mock(driver).expects('startUiAutomator2Session')56 .returns(B.resolve());57 sinon.mock(driver.helpers).expects('configureApp')58 .returns(app);59 await driver.createSession({app});60 await driver.checkAppPresent(); // should not error61 // configureApp is shared between the two,62 // so restore mock or the next test will fail63 driver.helpers.configureApp.restore();64 });65 it('should reject if app not present', async function () {66 let driver = new AndroidUiautomator2Driver({}, false);67 defaultStub(driver);68 let app = path.resolve('asdfasdf');69 sinon.mock(driver).expects('checkAppPresent')70 .returns(B.resolve());71 sinon.mock(driver).expects('startUiAutomator2Session')72 .returns(B.resolve());73 sinon.mock(driver.helpers).expects('configureApp')74 .returns(app);75 await driver.createSession({app});76 driver.checkAppPresent.restore();77 await driver.checkAppPresent().should.eventually.be.rejectedWith('Could not find');78 });79 });80 describe('proxying', function () {81 let driver;82 before(function () {83 driver = new AndroidUiautomator2Driver({}, false);84 defaultStub(driver);85 driver.sessionId = 'abc';86 });87 describe('#proxyActive', function () {88 it('should exist', function () {89 driver.proxyActive.should.be.an.instanceof(Function);90 });91 it('should return true', function () {92 driver.proxyActive('abc').should.be.true;93 });94 it('should throw an error if session id is wrong', function () {95 (() => {96 driver.proxyActive('aaa');97 }).should.throw;98 });99 });100 describe('#getProxyAvoidList', function () {101 it('should exist', function () {102 driver.getProxyAvoidList.should.be.an.instanceof(Function);103 });104 it('should return jwpProxyAvoid array', function () {105 let avoidList = driver.getProxyAvoidList('abc');106 avoidList.should.be.an.instanceof(Array);107 avoidList.should.eql(driver.jwpProxyAvoid);108 });109 it('should throw an error if session id is wrong', function () {110 (() => {111 driver.getProxyAvoidList('aaa');112 }).should.throw;113 });114 describe('nativeWebScreenshot', function () {115 let proxyAvoidList;116 let nativeWebScreenshotFilter = (item) => item[0] === "GET" && item[1].test('/session/xxx/screenshot/');117 beforeEach(function () {118 driver = new AndroidUiautomator2Driver({}, false);119 defaultStub(driver);120 sinon.mock(driver).expects('checkAppPresent')121 .once()122 .returns(B.resolve());123 sinon.mock(driver).expects('startUiAutomator2Session')124 .once()125 .returns(B.resolve());126 });127 describe('on webview mode', function () {128 beforeEach(function () {129 driver.chromedriver = true;130 });131 it('should proxy screenshot if nativeWebScreenshot is off on chromedriver mode', async function () {132 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: false});133 proxyAvoidList = driver.getProxyAvoidList().filter(nativeWebScreenshotFilter);134 proxyAvoidList.should.be.empty;135 });136 it('should not proxy screenshot if nativeWebScreenshot is on on chromedriver mode', async function () {137 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: true});138 proxyAvoidList = driver.getProxyAvoidList().filter(nativeWebScreenshotFilter);139 proxyAvoidList.should.not.be.empty;140 });141 });142 describe('on native mode', function () {143 it('should never proxy screenshot regardless of nativeWebScreenshot setting (on)', async function () {144 // nativeWebScreenshot on145 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: true});146 proxyAvoidList = driver.getProxyAvoidList().filter(nativeWebScreenshotFilter);147 proxyAvoidList.should.not.be.empty;148 });149 it('should never proxy screenshot regardless of nativeWebScreenshot setting (off)', async function () {150 // nativeWebScreenshot off151 await driver.createSession({platformName: 'Android', deviceName: 'device', browserName: 'chrome', nativeWebScreenshot: false});152 proxyAvoidList = driver.getProxyAvoidList().filter(nativeWebScreenshotFilter);153 proxyAvoidList.should.not.be.empty;154 });155 });156 });157 });158 describe('#canProxy', function () {159 it('should exist', function () {160 driver.canProxy.should.be.an.instanceof(Function);161 });162 it('should return true', function () {163 driver.canProxy('abc').should.be.true;164 });165 it('should throw an error if session id is wrong', function () {...

Full Screen

Full Screen

driver-e2e-specs.js

Source:driver-e2e-specs.js Github

copy

Full Screen

...23 let appActivity = await driver.getCurrentActivity();24 return {appPackage, appActivity};25 }26 it('should start android session focusing on default pkg and act', async () => {27 await driver.createSession(defaultCaps);28 let {appPackage, appActivity} = await getPackageAndActivity(driver);29 appPackage.should.equal('io.appium.android.apis');30 appActivity.should.equal('.ApiDemos');31 });32 it('should start android session focusing on custom pkg and act', async () => {33 let caps = Object.assign({}, defaultCaps);34 caps.appPackage = 'io.appium.android.apis';35 caps.appActivity = '.view.SplitTouchView';36 await driver.createSession(caps);37 let {appPackage, appActivity} = await getPackageAndActivity(driver);38 appPackage.should.equal(caps.appPackage);39 appActivity.should.equal(caps.appActivity);40 });41 it('should error out for not apk extention', async () => {42 let caps = Object.assign({}, defaultCaps);43 caps.app = 'foo';44 caps.appPackage = 'io.appium.android.apis';45 caps.appActivity = '.view.SplitTouchView';46 await driver.createSession(caps).should.eventually.be.rejectedWith(/apk/);47 });48 it('should error out if neither an app or a browser is defined', async () => {49 let caps = Object.assign({}, defaultCaps);50 caps.app = '';51 await driver.createSession(caps).should.eventually.be.rejectedWith(/include/);52 });53 it('should error out for invalid app path', async () => {54 let caps = Object.assign({}, defaultCaps);55 caps.app = 'foo.apk';56 caps.appPackage = 'io.appium.android.apis';57 caps.appActivity = '.view.SplitTouchView';58 await driver.createSession(caps).should.eventually.be.rejectedWith(/Could not find/);59 });60 it('should be able to start session without launching or installing app', async () => {61 let caps = Object.assign({}, defaultCaps);62 caps.appPackage = 'io.appium.android.apis';63 caps.appActivity = '.view.SplitTouchView';64 caps.autoLaunch = false;65 await driver.createSession(caps);66 let {appPackage, appActivity} = await getPackageAndActivity(driver);67 expect(appPackage).to.not.equal(caps.appPackage);68 expect(appActivity).to.not.equal(caps.appActivity);69 });70 it('should be able to launch activity with custom intent parameter category', async () => {71 let caps = Object.assign({}, defaultCaps);72 caps.appPackage = 'io.appium.android.apis';73 caps.appActivity = 'io.appium.android.apis.app.HelloWorld';74 caps.intentCategory = 'appium.android.intent.category.SAMPLE_CODE';75 await driver.createSession(caps);76 let appActivity = await driver.getCurrentActivity();77 appActivity.should.include('HelloWorld');78 });79 it('should be able to load an app via package', async () => {80 let caps = Object.assign({}, defaultCaps);81 caps.app = '';82 caps.appPackage = 'io.appium.android.apis';83 caps.appActivity = '.ApiDemos';84 await driver.createSession(caps);85 let appPackage = await driver.getCurrentPackage();86 appPackage.should.include('io.appium.android.apis');87 });88 it('should error out if package is not on the device', async () => {89 let caps = Object.assign({}, defaultCaps);90 caps.app = '';91 caps.appPackage = 'sipa.diordna.muippa.oi';92 caps.appActivity = '.ApiDemos';93 await driver.createSession(caps).should.eventually.be.rejectedWith(/Could not find/);94 });95 it('should get updated capabilities', async () => {96 let caps = Object.assign({}, defaultCaps);97 caps.appPackage = 'io.appium.android.apis';98 caps.appActivity = '.view.SplitTouchView';99 await driver.createSession(caps);100 let serverCaps = await driver.getSession();101 serverCaps.takesScreenshot.should.exist;102 });103 it('should get device name, udid, model, manufacturer and screen size in session details', async () => {104 let caps = Object.assign({}, defaultCaps);105 caps.appPackage = 'io.appium.android.apis';106 caps.appActivity = '.view.SplitTouchView';107 let session = await driver.createSession(caps);108 session[1].deviceName.should.exist;109 session[1].deviceUDID.should.exist;110 let serverCaps = await driver.getSession();111 serverCaps.deviceName.should.exist;112 serverCaps.deviceUDID.should.exist;113 serverCaps.deviceScreenSize.should.exist;114 serverCaps.deviceModel.should.exist;115 serverCaps.deviceManufacturer.should.exist;116 });117 it('should error out for activity that fails to load after app wait activity timeout', async () => {118 let caps = Object.assign({}, defaultCaps);119 caps.appWaitActivity = 'non.existent.activity';120 caps.appWaitDuration = 1000; // 1 second121 await driver.createSession(caps).should.eventually.be.rejectedWith(/never started/);122 });123 it('should be able to grant permissions', async function () {124 // TODO: why is there no entry for 5.1?125 let adb = new ADB();126 let apiLevel = await adb.getApiLevel();127 if (apiLevel < 23) {128 return this.skip();129 }130 let caps = Object.assign({}, defaultCaps);131 caps.appPackage = 'io.appium.android.apis';132 caps.appActivity = 'io.appium.android.apis.app.HelloWorld';133 caps.intentCategory = 'appium.android.intent.category.SAMPLE_CODE';134 caps.autoGrantPermissions = true;135 await driver.createSession(caps);136 expect(await driver.adb.getGrantedPermissions('io.appium.android.apis')).to.include.members(['android.permission.RECEIVE_SMS']);137 });138 describe('W3C compliance', function () {139 it('should accept W3C parameters', async function () {140 const [sessionId, caps] = await driver.createSession(null, null, {141 alwaysMatch: Object.assign({}, defaultCaps),142 firstMatch: [{}],143 });144 sessionId.should.exist;145 caps.should.exist;146 });147 });148});149describe('close', function () {150 let driver;151 before(() => {152 driver = new AndroidDriver();153 });154 afterEach(async () => {155 await driver.deleteSession();156 });157 it('should close application', async () => {158 await driver.createSession(defaultCaps);159 await driver.closeApp();160 let appPackage = await driver.getCurrentPackage();161 if (appPackage) {162 appPackage.should.not.equal("io.appium.android.apis");163 }164 });...

Full Screen

Full Screen

chrome-pool-cookies-test.js

Source:chrome-pool-cookies-test.js Github

copy

Full Screen

1/**2* Copyright (c) 2017 ZipRecruiter3*4* Permission is hereby granted, free of charge, to any person obtaining a copy5* of this software and associated documentation files (the "Software"), to deal6* in the Software without restriction, including without limitation the rights7* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell8* copies of the Software, and to permit persons to whom the Software is9* furnished to do so, subject to the following conditions:10*11* The above copyright notice and this permission notice shall be included in all12* copies or substantial portions of the Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE17* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,19* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE20* SOFTWARE.21* */22const chai = require('chai');23const expect = chai.expect;24const HttpServer = require('..').HttpServer;25const Driver = require('../clients/js/chrome_driver_proxy');26const Chrome = require('selenium-webdriver/chrome').Driver;27const ChromeOptions = require('selenium-webdriver/chrome').Options;28const chromedriverBin = process.env.CHROMEDRIVER_BIN || '/usr/bin/chromedriver';29describe('Proxy with chrome pool cookie test', () => {30 let server;31 let driver;32 let options;33 const mockServerUrl = 'http://127.0.0.1:8080';34 beforeEach((done) => {35 const config = {36 proxy: {37 port: 4444,38 baseUrl: '/wd/hub',39 },40 chromedriver: {41 chromedriverPath: chromedriverBin,42 port: 4445,43 autoRestart: false,44 },45 chromePool: {46 enable: true,47 reuse: true,48 chromePath: '/usr/bin/google-chrome',49 clearStorage: [50 {51 origin: '.localhost',52 storageTypes: 'cookies,localstorage',53 },54 ],55 },56 };57 server = new HttpServer(config.proxy);58 server.start(config, () => {59 const chromeOptions = new ChromeOptions();60 chromeOptions.addArguments(61 'headless',62 'disable-gpu',63 'no-first-run',64 'no-sandbox',65 );66 options = chromeOptions.toCapabilities();67 driver = Driver.createSession('http://127.0.0.1:4444/wd/hub', options);68 done();69 });70 });71 afterEach((done) => {72 server.stop(done);73 });74 it('can clear cookies between sessions', (done) => {75 driver.get(`${mockServerUrl}/base.html`).then(() => driver.manage().addCookie({ name: 'foo', value: 'bar' })).then(() => driver.get(`${mockServerUrl}/cookies`)).then(() => driver.getPageSource())76 .then(source => driver.findElement({ css: '#foo span.value' }))77 .then(elem => elem.getText())78 .then((cookieValue) => {79 expect(cookieValue).to.equal('bar');80 return driver.quit();81 })82 .then(() => {83 driver = Driver.createSession('http://127.0.0.1:4444/wd/hub', options);84 return driver.get(`${mockServerUrl}/base.html`);85 })86 .then(() => driver.manage().getCookie('foo'))87 .then((cookie) => {88 expect(cookie).to.be.null;89 })90 .then(() => driver.quit())91 .then(() => {92 done();93 })94 .catch((err) => {95 done(err);96 });97 });98 it('can override default for clearing local storage', (done) => {99 driver.get(`${mockServerUrl}/base.html`).then(() => driver.setClearStorage([])).then(() => driver.get(`${mockServerUrl}/cookies`)).then(() => driver.executeScript('window.localStorage.setItem("foo", "bar")'))100 .then(() => driver.executeScript('return window.localStorage.getItem("foo")'))101 .then((value) => {102 expect(value).to.equal('bar');103 return driver.quit();104 })105 .then(() => {106 // TODO find a better way to wait for the browser to be available in the pool107 return driver.sleep(5);108 }).then(() => {109 driver = Driver.createSession('http://127.0.0.1:4444/wd/hub', options);110 return driver.get(`${mockServerUrl}/base.html`);111 })112 .then(() => driver.executeScript('return window.localStorage.getItem("foo")'))113 .then((value) => {114 expect(value).to.equal('bar');115 })116 .then(() => driver.quit())117 .then(() => {118 done();119 })120 .catch((err) => {121 done(err);122 });123 });124 it('can clear local storage between sessions', (done) => {125 driver.get(`${mockServerUrl}/base.html`).then(() => driver.manage().addCookie({ name: 'foo', value: 'bar' })).then(() => driver.get(`${mockServerUrl}/cookies`)).then(() => driver.executeScript('window.localStorage.setItem("foo", "bar")'))126 .then(() => driver.executeScript('return window.localStorage.getItem("foo")'))127 .then((value) => {128 expect(value).to.equal('bar');129 return driver.quit();130 })131 .then(() => {132 driver = Driver.createSession('http://127.0.0.1:4444/wd/hub', options);133 return driver.get(`${mockServerUrl}/base.html`);134 })135 .then(() => driver.executeScript('return window.localStorage.getItem("foo")'))136 .then((value) => {137 expect(value).to.be.null;138 })139 .then(() => driver.quit())140 .then(() => {141 done();142 })143 .catch((err) => {144 done(err);145 });146 });147 it('can close extra windows between sessions', (done) => {148 driver.get(`${mockServerUrl}/base.html`).then(() => driver.executeScript(`open("${mockServerUrl}/base.html"); open("${mockServerUrl}/base.html")`)).then(() => driver.getAllWindowHandles()).then((handles) => {149 expect(handles.length).to.equal(3);150 return driver.quit();151 })152 .then(() => {153 driver = Driver.createSession('http://127.0.0.1:4444/wd/hub', options);154 return driver.get(`${mockServerUrl}/base.html`);155 })156 .then(() => driver.getAllWindowHandles())157 .then((handles) => {158 expect(handles.length).to.equal(1);159 return driver.quit();160 })161 .then(() => {162 done();163 })164 .catch((err) => {165 done(err);166 });167 });...

Full Screen

Full Screen

unlocker-e2e-specs.js

Source:unlocker-e2e-specs.js Github

copy

Full Screen

...25 await driver.deleteSession();26 });27 it('should unlock an Android 19 device using a PIN', async () => {28 let caps = _.extend(defaultCaps, {unlockType: "pin", unlockKey: "1111", avd: AVD_ANDROID_19_PIN_UNLOCK});29 await driver.createSession(caps);30 let isLock = await driver.adb.isScreenLocked();31 isLock.should.equal(false);32 });33 it('should unlock an Android 23 device using a PIN', async () => {34 let caps = _.extend(defaultCaps, {unlockType: "pin", unlockKey: "1111", avd: AVD_ANDROID_23_PIN_UNLOCK});35 await driver.createSession(caps);36 let isLock = await driver.adb.isScreenLocked();37 isLock.should.equal(false);38 });39 it('should unlock an Android 19 device using a PASSWORD', async () => {40 let caps = _.extend(defaultCaps, {unlockType: "password", unlockKey: "appium", avd: AVD_ANDROID_19_PASSWORD_UNLOCK});41 await driver.createSession(caps);42 let isLock = await driver.adb.isScreenLocked();43 isLock.should.equal(false);44 });45 it('should unlock an Android 23 device using a PASSWORD', async () => {46 let caps = _.extend(defaultCaps, {unlockType: "password", unlockKey: "appium", avd: AVD_ANDROID_23_PASSWORD_UNLOCK});47 await driver.createSession(caps);48 let isLock = await driver.adb.isScreenLocked();49 isLock.should.equal(false);50 });51 it('should unlock an Android 19 device using a PATTERN', async () => {52 let caps = _.extend(defaultCaps, {unlockType: "pattern", unlockKey: "729856143", avd: AVD_ANDROID_19_PATTERN_UNLOCK});53 await driver.createSession(caps);54 let isLock = await driver.adb.isScreenLocked();55 isLock.should.equal(false);56 });57 it('should unlock an Android 23 device using a PATTERN', async () => {58 let caps = _.extend(defaultCaps, {unlockType: "pattern", unlockKey: "729856143", avd: AVD_ANDROID_23_PATTERN_UNLOCK});59 await driver.createSession(caps);60 let isLock = await driver.adb.isScreenLocked();61 isLock.should.equal(false);62 });63 it('should unlock an Android 23 device using FINGERPRINT', async () => {64 let caps = _.extend(defaultCaps, {unlockType: "pattern", unlockKey: "729856143", avd: AVD_ANDROID_23_FINGERPRINT_UNLOCK});65 await driver.createSession(caps);66 let isLock = await driver.adb.isScreenLocked();67 isLock.should.equal(false);68 });69 });...

Full Screen

Full Screen

edge_driver_test.js

Source:edge_driver_test.js Github

copy

Full Screen

1// Copyright 2020 Microsoft2//3// Licensed under the Apache License, Version 2.0 (the "License");4// you may not use this file except in compliance with the License.5// You may obtain a copy of the License at6//7// http://www.apache.org/licenses/LICENSE-2.08//9// Unless required by applicable law or agreed to in writing, software10// distributed under the License is distributed on an "AS IS" BASIS,11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12// See the License for the specific language governing permissions and13// limitations under the License. 14const assert = require('assert');15const edge = require("../lib/edge");16describe('JS selenium binding tests', function () {17 this.timeout(0);18 it.skip('test default', async function () {19 let driver = await edge.Driver.createSession();20 let cap = await driver.getCapabilities();21 await assert.equal(cap.get('browserName'), 'MicrosoftEdge');22 await driver.quit();23 });24 it.skip('test legacy edge', async function () {25 let options = await new edge.Options().setEdgeChromium(false);26 let driver = await edge.Driver.createSession(options);27 let cap = await driver.getCapabilities();28 await assert.equal(cap.get('browserName'), 'MicrosoftEdge');29 await driver.quit();30 });31 it('test chromium edge', async function () {32 let options = await new edge.Options().setEdgeChromium(true);33 let driver = await edge.Driver.createSession(options);34 let cap = await driver.getCapabilities();35 await assert.equal(cap.get('browserName'), 'msedge');36 await driver.quit();37 });38 it('test legacy options to capabilities', async function () {39 let options = await new edge.Options();40 let cap = await options.toCapabilities();41 await assert.equal(cap.get('browserName'), 'MicrosoftEdge');42 await assert.equal(cap.has('ms:edgeOptions'), false);43 await assert.equal(cap.has('ms:edgeChromium'), true);44 await assert.equal(cap.get('ms:edgeChromium'), false);45 });46 it('test chromium options to capabilities', async function () {47 let options = await new edge48 .Options()49 .setEdgeChromium(true);50 let cap = await options.toCapabilities();51 await assert.equal(cap.get('browserName'), 'MicrosoftEdge');52 await assert.equal(cap.has('ms:edgeOptions'), true);53 await assert.equal(cap.get('ms:edgeOptions').getEdgeChromium(), true);54 await assert.equal(cap.has('ms:edgeChromium'), true);55 await assert.equal(cap.get('ms:edgeChromium'), true);56 });57 it('test webview options', function() {58 let options = new edge.Options();59 options.setEdgeChromium(true);60 options.setUseWebView(true);61 let cap = options.toCapabilities();62 assert.equal(cap.get('browserName'), 'webview2');63 });...

Full Screen

Full Screen

orientation-e2e-specs.js

Source:orientation-e2e-specs.js Github

copy

Full Screen

...15 await driver.setOrientation('PORTRAIT');16 await driver.deleteSession();17 });18 it('should have portrait orientation if requested', async function () {19 await driver.createSession(Object.assign({}, DEFAULT_CAPS, {20 appActivity: '.view.TextFields',21 orientation: 'PORTRAIT',22 }));23 await driver.getOrientation().should.eventually.eql('PORTRAIT');24 });25 it('should have landscape orientation if requested', async function () {26 await driver.createSession(Object.assign({}, DEFAULT_CAPS, {27 appActivity: '.view.TextFields',28 orientation: 'LANDSCAPE',29 }));30 await driver.getOrientation().should.eventually.eql('LANDSCAPE');31 });32 it('should have portrait orientation if nothing requested', async function () {33 await driver.createSession(Object.assign({}, DEFAULT_CAPS, {34 appActivity: '.view.TextFields',35 }));36 await driver.getOrientation().should.eventually.eql('PORTRAIT');37 });38 });39 describe('setting -', function () {40 before(async function () {41 driver = new AndroidDriver();42 await driver.createSession(Object.assign({}, DEFAULT_CAPS, {43 appActivity: '.view.TextFields'44 }));45 });46 after(async () => {47 await driver.deleteSession();48 });49 it('should rotate screen to landscape', async function () {50 await driver.setOrientation('PORTRAIT');51 await B.delay(3000);52 await driver.setOrientation('LANDSCAPE');53 await B.delay(3000);54 await driver.getOrientation().should.eventually.become('LANDSCAPE');55 });56 it('should rotate screen to landscape', async function () {...

Full Screen

Full Screen

local.js

Source:local.js Github

copy

Full Screen

1import {2 ServiceBuilder as ChromeServiceBuilder,3 Driver as ChromeDriver,4 Options as ChromeOptions,5} from 'selenium-webdriver/chrome';6import {7 ServiceBuilder as FirefoxServiceBuilder,8 Driver as FirefoxDriver,9 Options as FirefoxOptions,10 Profile as FirefoxProfile,11} from 'selenium-webdriver/firefox';12function getChromeService(binaryPath) {13 return new ChromeServiceBuilder(binaryPath);14}15function getChromeOptions() {16 return new ChromeOptions().addArguments([17 '--no-sandbox',18 'start-maximized',19 ]);20}21function getChromeDriver(binaryPath) {22 return ChromeDriver.createSession(23 getChromeOptions(),24 getChromeService(binaryPath).build()25 );26}27function getChromeDriverWithVerboseLogging(binaryPath, logPath) {28 const service = getChromeService(binaryPath)29 .enableVerboseLogging()30 .loggingTo(logPath || __dirname + '/../chromedriver.log')31 .build();32 return ChromeDriver.createSession(getChromeOptions(), service);33}34function getFirefoxService(binaryPath) {35 return new FirefoxServiceBuilder(binaryPath);36}37export function getFirefoxOptions() {38 const profile = new FirefoxProfile();39 profile.setPreference('devtools.jsonview.enabled', false);40 return new FirefoxOptions().setProfile(profile);41}42function getFirefoxDriver(binaryPath) {43 return FirefoxDriver.createSession(44 getFirefoxOptions(),45 getFirefoxService(binaryPath).build()46 );47}48function getFirefoxDriverWithVerboseLogging(binaryPath, logPath) {49 const service = getFirefoxService(binaryPath)50 .enableVerboseLogging()51 .build();52 return FirefoxDriver.createSession(getFirefoxOptions(), service);53}54export default function getLocalDriver(55 browser,56 { binaryPath, verbose, logPath }57) {58 switch (browser) {59 case 'chrome':60 if (verbose) {61 return getChromeDriverWithVerboseLogging(binaryPath, logPath);62 }63 return getChromeDriver(binaryPath);64 case 'firefox':65 if (verbose) {66 return getFirefoxDriverWithVerboseLogging(binaryPath, logPath);67 }68 return getFirefoxDriver(binaryPath);69 default:70 throw new Error(`No local driver found for "${browser}"`);71 }...

Full Screen

Full Screen

general-specs.js

Source:general-specs.js Github

copy

Full Screen

...17 sandbox.stub(driver, 'initAUT');18 sandbox.stub(driver, 'startEspressoSession');19 });20 it('update settings', async function () {21 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: driver.caps.appPackage});22 await driver.updateSettings().should.be.rejectedWith('Method has not yet been implemented');23 });24 it('get settings', async function () {25 await driver.createSession({platformName: 'Android', deviceName: 'device', appPackage: driver.caps.appPackage});26 await driver.getSettings().should.be.rejectedWith('Method has not yet been implemented');27 });28 });29 });...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var webdriver = require('selenium-webdriver');2var driver = new webdriver.Builder()3 .forBrowser('xcuitest')4 .build();5driver.getSession().then(function(session) {6 console.log('Session ID: ' + session.getId());7 console.log('Caps: ' + JSON.stringify(session.getCapabilities()));8});9from selenium import webdriver10from selenium.webdriver.common.desired_capabilities import DesiredCapabilities11print(driver.session_id)12print(driver.capabilities)13# {'browserName': 'xcuitest', 'CFBundleIdentifier': 'my.app', 'device': 'iPhone Simulator', 'sdkVersion': '10.3.3', 'platform': 'MAC', 'deviceName': 'iPhone 6', 'platformVersion': '10.3

Full Screen

Using AI Code Generation

copy

Full Screen

1driver.createSession({2 "desiredCapabilities": {3 }4});5await driver.startRecordingScreen();6await driver.stopRecordingScreen();7const base64Data = await driver.getScreenRecording();8await driver.touchId({match: true});9await driver.mobileShake();10await driver.toggleTouchIdEnrollment({enabled: true});11await driver.toggleEnrollTouchId({enabled: true});12await driver.toggleTouchIDEnrollment({enabled: true});13await driver.toggleEnrollTouchID({enabled: true});14await driver.toggleTouchIdEnrollment({enabled: true});15await driver.toggleEnrollTouchId({enabled: true});16await driver.toggleTouchIDEnrollment({enabled: true});17await driver.toggleEnrollTouchID({enabled: true});18await driver.toggleTouchIdEnrollment({enabled: true});

Full Screen

Using AI Code Generation

copy

Full Screen

1const webdriver = require('selenium-webdriver');2const {By, until} = require('selenium-webdriver');3const {ServerConfig} = require('selenium-webdriver/remote');4const XCUITest = require('appium-xcuitest-driver');5async function main() {6 const driver = await XCUITest.createSession(serverConfig, {

Full Screen

Using AI Code Generation

copy

Full Screen

1var driver = require('appium-xcuitest-driver');2var caps = {3};4driver.createSession(caps).then(function (session) {5 console.log(session);6});7var driver = require('appium-xcuitest-driver');8var caps = {9};10driver.createSession(caps).then(function (session) {11 console.log(session);12});13var driver = require('appium-xcuitest-driver');14var caps = {15};16driver.createSession(caps).then(function (session) {17 console.log(session);18});19var driver = require('appium-xcuitest-driver');20var caps = {

Full Screen

Using AI Code Generation

copy

Full Screen

1driver.createSession({desiredCapabilities: {platformName: 'iOS', platformVersion: '11.2', deviceName: 'iPhone 8', app: 'path/to/your.app' }})2 .then(() => {3 driver.findElOrEls('class name', 'XCUIElementTypeButton', true)4 .then((els) => {5 driver.click(els.ELEMENT)6 .then(() => {7 driver.back()8 .then(() => {9 driver.deleteSession()10 .then(() => {11 driver.quit()12 })13 })14 })15 })16 })17driver.createSession(new SessionDetails(new DesiredCapabilities("iOS", "11.2", "iPhone 8", "path/to/your.app")));18MobileElement el = driver.findElOrEls("class name", "XCUIElementTypeButton", true);19el.click();20driver.back();21driver.deleteSession();22driver.quit();23driver.create_session({'desiredCapabilities': {'platformName': 'iOS', 'platformVersion': '11.2', 'deviceName': 'iPhone 8', 'app': 'path/to/your.app'}})

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