Best JavaScript code snippet using appium-xcuitest-driver
requestDevice.spec.js
Source:requestDevice.spec.js
1const { BackgroundDriver } = require('./background.driver');2const { PolyfillDriver } = require('./polyfill.driver');3const { tick } = require('./test-utils');4describe('requestDevice', () => {5 it('should scan for devices', async () => {6 const background = new BackgroundDriver();7 const bluetooth = new PolyfillDriver(background).bluetooth;8 bluetooth.requestDevice({ filters: [] });9 expect(background.nativePort.postMessage).toHaveBeenCalledWith({ cmd: 'scan', _id: 1 });10 });11 it('should return devices matching the given filters', async () => {12 const background = new BackgroundDriver();13 const polyfill = new PolyfillDriver(background);14 const { bluetooth } = polyfill;15 const stopScanMock = jest.fn().mockReturnValue({ result: null });16 background.autoRespond({17 scan: () => ({ result: null }),18 stopScan: stopScanMock,19 });20 const devicePromise = bluetooth.requestDevice({21 filters: [{ 'name': 'test-device' }]22 });23 await tick();24 background.nativePort.onMessage.dispatch({25 _type: 'scanResult',26 advType: 'ScanResponse',27 bluetoothAddress: 'aa:bb:cc:dd:ee:ff',28 localName: 'test-device',29 rssi: -77,30 serviceUuids: ['{6e400001-b5a3-f393-e0a9-e50e24dcca9e}'],31 timestamp: 24784186015330,32 });33 polyfill.contentMessage({ cmd: 'chooserPair', deviceId: 'aa:bb:cc:dd:ee:ff' });34 const device = await devicePromise;35 expect(device.id).toBe('aa:bb:cc:dd:ee:ff');36 expect(device.name).toBe('test-device');37 expect(stopScanMock).toHaveBeenCalled();38 });39 it('should throw an error if the user cancels the device chooser dialog', async () => {40 const background = new BackgroundDriver();41 const polyfill = new PolyfillDriver(background);42 const { bluetooth } = polyfill;43 const stopScanMock = jest.fn().mockReturnValue({ result: null });44 background.autoRespond({45 scan: () => ({ result: null }),46 stopScan: stopScanMock,47 });48 const devicePromise = bluetooth.requestDevice({49 filters: [{ 'name': 'test-device' }]50 });51 await tick();52 background.nativePort.onMessage.dispatch({53 _type: 'scanResult',54 advType: 'ScanResponse',55 bluetoothAddress: 'aa:bb:cc:dd:ee:ff',56 localName: 'test-device',57 rssi: -77,58 serviceUuids: ['{6e400001-b5a3-f393-e0a9-e50e24dcca9e}'],59 timestamp: 24784186015330,60 });61 polyfill.contentMessage({ cmd: 'chooserCancel' });62 await expect(devicePromise).rejects.toBe('Error: User canceled device chooser');63 expect(stopScanMock).toHaveBeenCalled();64 });65 it('should stop scanning if the page disconnects', async () => {66 const background = new BackgroundDriver();67 const polyfill = new PolyfillDriver(background);68 const { bluetooth } = polyfill;69 const stopScanMock = jest.fn().mockReturnValue({ result: null });70 background.autoRespond({71 scan: () => ({ result: null }),72 stopScan: stopScanMock,73 });74 const devicePromise = bluetooth.requestDevice({75 filters: [{ 'name': 'test-device' }]76 });77 await tick();78 polyfill.disconnect();79 expect(stopScanMock).toHaveBeenCalled();80 });...
getPrimaryService.spec.js
Source:getPrimaryService.spec.js
1const { BackgroundDriver } = require('./background.driver');2const { PolyfillDriver } = require('./polyfill.driver');3describe('getPrimaryService', () => {4 it('should return a service object with `uuid` and `isPrimary` fields', async () => {5 const background = new BackgroundDriver();6 const polyfill = new PolyfillDriver(background);7 background.advertiseDevice('test-device', '11:22:33:44:55:66');8 polyfill.autoChooseDevice('11:22:33:44:55:66');9 const device = await polyfill.bluetooth.requestDevice({10 filters: [{ 'name': 'test-device' }]11 });12 background.autoRespond({13 'connect': () => ({ result: 'gattDeviceId' }),14 });15 const gatt = await device.gatt.connect();16 background.autoRespond({17 'services': (msg) => {18 expect(msg).toEqual(expect.objectContaining({19 device: 'gattDeviceId', 20 service: '{0000ffe0-0000-1000-8000-00805f9b34fb}'21 }));22 return { result: ["{0000ffe0-0000-1000-8000-00805f9b34fb}"] };23 },24 });25 const service = await device.gatt.getPrimaryService(0xffe0);26 expect(service.isPrimary).toEqual(true);27 expect(service.uuid).toEqual('0000ffe0-0000-1000-8000-00805f9b34fb');28 });29 it('should support standard service names, e.g. cycling_power', async () => {30 const background = new BackgroundDriver();31 const polyfill = new PolyfillDriver(background);32 background.advertiseDevice('cyclometer', '00:00:aa:00:bb:cc');33 polyfill.autoChooseDevice('00:00:aa:00:bb:cc');34 const device = await polyfill.bluetooth.requestDevice({35 filters: [{ 'name': 'cyclometer' }]36 });37 background.autoRespond({38 'connect': () => ({ result: 'gattDeviceId' }),39 });40 const gatt = await device.gatt.connect();41 background.autoRespond({42 'services': (msg) => {43 expect(msg).toEqual(expect.objectContaining({44 device: 'gattDeviceId', 45 service: '{00001818-0000-1000-8000-00805f9b34fb}'46 }));47 return { result: ["{00001818-0000-1000-8000-00805f9b34fb}"] };48 },49 });50 const service = await device.gatt.getPrimaryService('cycling_power');51 expect(service.isPrimary).toEqual(true);52 expect(service.uuid).toEqual('00001818-0000-1000-8000-00805f9b34fb');53 });54 it('should throw an error if the requested services does not exist', async () => {55 const background = new BackgroundDriver();56 const polyfill = new PolyfillDriver(background);57 background.advertiseDevice('test-device', '11:22:33:44:55:66');58 polyfill.autoChooseDevice('11:22:33:44:55:66');59 const device = await polyfill.bluetooth.requestDevice({60 filters: [{ 'name': 'test-device' }]61 });62 background.autoRespond({63 'connect': () => ({ result: 'gattDeviceId' }),64 'services': () => ({ result: [] }),65 });66 const gatt = await device.gatt.connect();67 const serviceResult = device.gatt.getPrimaryService(0xffe2);68 await expect(serviceResult).rejects.toEqual(new Error('Service 65506 not found'));69 });...
index.js
Source:index.js
1import React, { Component } from "react";2import { View, Image,StatusBar} from "react-native";3import AsyncStorage from '@react-native-community/async-storage';4import { Container, Button, H3, Text } from "native-base";5import { Actions } from "react-native-router-flux";6import styles from "../styles";7const launchscreenLogo = require("../../../assets/logo.png");8class Accueil extends Component {9 componentDidMount(){10 this.loadInitialState()11 .done();12 }13loadInitialState = async () => {14 let mobile = await AsyncStorage.getItem('mobile');15 let userDetails = await AsyncStorage.getItem('userDetails');16 let token = await AsyncStorage.getItem('token');17 let driver = await AsyncStorage.getItem('token_driver');18 let mobile_driver = await AsyncStorage.getItem('mobile_driver');19 20 if(token !== null){21 Actions.home();22 23 }24 if(driver !== null && mobile_driver !== null){25 Actions.requestRide();26 }27}28render(){29 return(30 <Container>31 <StatusBar 32 backgroundColor="#11A0DC"33 barStyle="light-content"34 />35 <View style={styles.logoContainer}>36 <Image source={launchscreenLogo} style={styles.logo}/>37 </View>38 {/* <ImageBackground source={launchscreenBg} style={styles.imageContainer}> */} 39 <View style={{alignItems:"center",}}>40 <H3 style={styles.textAccueil}>Welcome to orangecabs</H3>41 </View>42 43 <View44 style={{45 alignItems: "center",46 marginBottom: 50,47 backgroundColor: "transparent"48 }}49 >50 <View style={{ marginTop: 0 }} />51 <H3 style={styles.textAccueil}>Taking pride in our rides...</H3>52 <View style={{ marginTop: 8 }} />53 </View>54 <View style={{ marginBottom: 40 ,}}>55 <Button56 style={[styles.buttonRiderDriver,{backgroundColor: "#11A0DC"}]}57 onPress={() => Actions.logrider()}58 >59 <Text style={[styles.textAccueil,{color:"#fff"}]}>Sign In Rider</Text>60 </Button>61 </View>62 <View style={{ marginBottom: 80 }}>63 <Button64 style={[styles.buttonRiderDriver,{ backgroundColor: "#F89D29"}]}65 onPress={() => Actions.logdriver()}66 >67 <Text style={[styles.textAccueil,{color:"#fff"}]}>Sign In Driver</Text>68 </Button>69 </View>70 </Container>71 );72}73}...
gattConnect.spec.js
Source:gattConnect.spec.js
1const { BackgroundDriver } = require('./background.driver');2const { PolyfillDriver } = require('./polyfill.driver');3const { tick } = require('./test-utils');4describe('gatt.connect', () => {5 it('should establish a gatt connection', async () => {6 const background = new BackgroundDriver();7 const polyfill = new PolyfillDriver(background);8 background.advertiseDevice('test-device', '11:22:33:44:55:66');9 polyfill.autoChooseDevice('11:22:33:44:55:66');10 const device = await polyfill.bluetooth.requestDevice({11 filters: [{ 'name': 'test-device' }]12 });13 background.autoRespond({14 'connect': () => ({ result: 'gattDeviceId' })15 });16 const gatt = await device.gatt.connect();17 expect(background.lastMessage.address).toBe('112233445566');18 });19 it('should fail if the given device id was not previously returned by `requestDevice`', async () => {20 const background = new BackgroundDriver();21 const polyfill = new PolyfillDriver(background);22 background.advertiseDevice('test-device', '11:22:33:44:55:66');23 polyfill.autoChooseDevice('11:22:33:44:55:66');24 const device = await polyfill.bluetooth.requestDevice({25 filters: [{ 'name': 'test-device' }]26 });27 // This is a device we have not been authorized to connect to28 device.id = 'aa:bb:cc:dd:ee:ff';29 background.autoRespond({30 'connect': () => ({ result: 'gattDeviceId' })31 });32 await expect(device.gatt.connect()).rejects.toBe('Error: Unknown device address');33 });...
device-specs.js
Source:device-specs.js
1"use strict";2var env = require('../../../helpers/env'),3 setup = require("../../common/setup-base"),4 desired = require('./desired');5describe('uicatalog - device @skip-ios7up', function () {6 describe('lock device', function () {7 var driver;8 setup(this, desired).then(function (d) { driver = d; });9 var allowance = env.IOS7 ? 5 : 2;10 it("should lock the device for 4 of seconds (+/- " + allowance + " secs)", function (done) {11 var before = new Date().getTime() / 1000;12 driver13 .lockDevice(4)14 .then(function () {15 var now = (new Date().getTime() / 1000);16 (now - before).should.be.above(4);17 (now - before).should.be.below(4 + allowance + 1);18 }).nodeify(done);19 });20 });21 describe('background app', function () {22 var driver;23 setup(this, desired).then(function (d) { driver = d; });24 it("should background the app for 4 of seconds (+/- 6 secs)", function (done) {25 var before = new Date().getTime() / 1000;26 driver27 .backgroundApp(4)28 .then(function () {29 ((new Date().getTime() / 1000) - before).should.be.below(11);30 }).nodeify(done);31 });32 });...
driverBackground_api.js
Source:driverBackground_api.js
1var app = angular.module('driverBackgroundApp',[]);2app.controller('driverBackground',function ($scope, $http){3 $scope.showSSN = true ;4 5 6 $scope.addSSN = function(){7 var re = /^([0-9]{3})(?:-[0-9]{2})(?:-[0-9]{4})$/;8 var ssn1=re.exec($scope.d_ssn);9 if(ssn1){10 //alert("ok ssn"+$scope.d_ssn);11 $http({12 13 method : "POST",14 url : '/addSSN',15 data : {16 "d_video":$scope.d_video,17 "d_ssn" : $scope.d_ssn18 19 }20 }).success(function(data){21 if(data.statusCode === 200)22 {23 alert("success add ssn"+JSON.stringify(data));24 //Making a get call to the '/redirectToHomepage' API25 window.location.assign("/driverHome/documents");26 }27 else if(data.statusCode === 401)28 {29 alert("failed add ssn"+JSON.stringify(data));30 $scope.showSSN = false;31 //window.location.assign("/driverHome/backgroundCheck");32 $scope.invalid_login = false;33 $scope.unexpected_error = true;34 }35 }).error( function(error){36 $scope.unexpected_error = false;37 $scope.invalid_login = true;38 }) 39 }40 else{alert("not ok ssn"+$scope.d_ssn); $scope.showSSN = false ;}41 }...
driver.test.mjs
Source:driver.test.mjs
1import test from "ava"2import driver from "./driver.mjs"3test.serial ("given", (t) => {4 const actual = driver ({ "backgroundColor": "red", "color": "green" })5 const expect = "ae af"6 t.is (actual, expect)7})8test.serial ("given (2)", (t) => {9 const actual = driver ({10 "backgroundColor": "blue",11 "fontFamily": { "src": "url(/fonts/font.woff) (woff)" }12 })13 const expect = "ah ai"14 t.is (actual, expect)15})16test.serial ("given (3)", (t) => {17 const actual = driver ({18 "animationName": {19 "0%": {20 "transform": "translate3d(0,0,0)"21 },22 "to": {23 "transform": "translate3d(100%,0,0)"24 }25 },26 "color": "green",27 "fontFamily": { "src": "url(/fonts/font.woff) (woff)" }28 })29 const expect = "ak af ai"30 t.is (actual, expect)31})32test.serial ("given (4)", (t) => {33 const actual = driver ({34 "animationName": {35 "0%": {36 "transform": "translate3d(0,0,0)"37 },38 "to": {39 "transform": "translate3d(100%,0,0)"40 }41 },42 "color": "purple",43 "fontFamily": { "src": "url(/fonts/font.woff) (woff)" }44 })45 const expect = "ak al ai"46 t.is (actual, expect)...
background-app-specs.js
Source:background-app-specs.js
1"use strict";2var setup = require("../../common/setup-base"),3 desired = require('./desired');4describe('uicatalog - background app @skip-ios6', function () {5 var driver;6 setup(this, desired).then(function (d) { driver = d; });7 it("should background the app for 4 of seconds (+/- 6 secs)", function (done) {8 var before = new Date().getTime() / 1000;9 driver10 .backgroundApp(4)11 .then(function () {12 ((new Date().getTime() / 1000) - before).should.be.below(11);13 }).nodeify(done);14 });...
Using AI Code Generation
1const wd = require('wd');2const assert = require('assert');3const PORT = 4723;4const HOST = 'localhost';5const config = {6};7const driver = wd.promiseChainRemote(HOST, PORT);8driver.init(config)9 .then(() => driver.background(10))10 .catch((err) => console.log(err));11driver.background(seconds)12driver.background(10);13driver.background(20);14driver.background(30);15driver.background(40);16driver.background(50);17driver.background(60);18driver.background(70);19driver.background(80);20driver.background(90);21driver.background(100);22driver.background(110);23driver.background(120);24driver.background(130);25driver.background(140);26driver.background(150);27driver.background(160);28driver.background(170);29driver.background(180);30driver.background(190);31driver.background(200);32driver.background(210);33driver.background(220);34driver.background(230);35driver.background(240);36driver.background(250);37driver.background(260);38driver.background(270);39driver.background(280);40driver.background(290);41driver.background(300);42driver.background(310);43driver.background(320);44driver.background(330);45driver.background(340);46driver.background(350);47driver.background(360);48driver.background(370);49driver.background(380);50driver.background(390);51driver.background(400);52driver.background(410);53driver.background(420);54driver.background(430);55driver.background(440);56driver.background(450);57driver.background(460);58driver.background(470);59driver.background(480);60driver.background(490);61driver.background(500);62driver.background(510);63driver.background(520);64driver.background(530);65driver.background(540);66driver.background(550);67driver.background(560);68driver.background(570);69driver.background(580);70driver.background(590);71driver.background(600);72driver.background(
Using AI Code Generation
1const wd = require('wd');2const {assert} = require('chai');3const PORT = 4723;4const config = {5};6describe('test', function () {7 this.timeout(300000);8 let driver;9 before(async () => {10 driver = await wd.promiseChainRemote('localhost', PORT);11 await driver.init(config);12 });13 after(async () => {14 await driver.quit();15 });16 it('should test', async () => {17 await driver.background(3);18 });19});
Using AI Code Generation
1const { remote } = require('webdriverio');2const opts = {3 capabilities: {4 },5};6(async () => {7 const client = await remote(opts);8 await client.background(5);9 await client.deleteSession();10})();
Using AI Code Generation
1const wd = require('wd');2const assert = require('assert');3const {execSync} = require('child_process');4async function main() {5 const caps = {6 udid: execSync('idevice_id -l').toString().trim(),7 };8 await driver.init(caps);9 await driver.background(10);10 await driver.quit();11}12main();13const wd = require('wd');14const assert = require('assert');15const {execSync} = require('child_process');16async function main() {17 const caps = {18 udid: execSync('idevice_id -l').toString().trim(),19 };20 await driver.init(caps);21 await driver.background(10);22 await driver.quit();23}24main();
Using AI Code Generation
1const assert = require('assert');2const wd = require('wd');3const { exec } = require('child_process');4const PORT = 4723;5const HOST = 'localhost';6const DEVICE_NAME = 'iPhone 6';7const BUNDLE_ID = 'com.apple.mobilesafari';8const driver = wd.promiseChainRemote(HOST, PORT);9const desiredCaps = {10};11 .init(desiredCaps)12 .then(() => {13 return driver.background(5);14 })15 .then(() => {16 return driver.elementByAccessibilityId('Address');17 })18 .then((el) => {19 return el.text();20 })21 .then((text) => {22 console.log(text);23 })24 .catch((err) => {25 console.log(err);26 });
Using AI Code Generation
1var webdriver = require('selenium-webdriver');2var driver = new webdriver.Builder().forBrowser('selenium').build();3driver.background(10).then(function(){4 console.log('done');5 driver.quit();6});
Using AI Code Generation
1const wd = require('wd');2const {exec} = require('child_process');3const PORT = 4723;4const HOST = 'localhost';5const DEVICE = 'iPhone 8';6const DEVICE_UDID = 'C7B6B8F8-7E6F-4A2B-9E2E-8F4D4D3A4B4B';7const BUNDLE_ID = 'com.example.myapp';8(async () => {9 const driver = wd.promiseChainRemote(HOST, PORT);10 await driver.init({11 });12 await driver.background(10);13 await driver.quit();14})();
Using AI Code Generation
1const wd = require('wd');2const {assert} = require('chai');3const path = require('path');4const caps = {5 app: path.resolve('UICatalog.app.zip')6};7async function main() {8 await driver.init(caps);9 await driver.background(10);10}11main();12driver.backgroundApp(seconds)13seconds (number) – Number of seconds to put the app in the background14const wd = require('wd');15const {assert} = require('chai');16const path = require('path');17const caps = {18 app: path.resolve('UICatalog.app.zip')19};20async function main() {21 await driver.init(caps);22 await driver.backgroundApp(10);23}24main();25driver.closeApp()26const wd = require('wd');27const {assert} = require('chai');28const path = require('path');29const caps = {30 app: path.resolve('UICatalog.app.zip')31};32async function main() {
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!!