Best JavaScript code snippet using appium-base-driver
all_driver_record_map.js
Source:all_driver_record_map.js
1/**2 * 3 */4var companyID = 0;5var allDrivers = [];6var driverIterator = 0;7var timeFrom = '';8var timeTo = '';9var map;10var driverPolylines = [];11var selectedPolyLine = null;12var color;13var pointMarkers = new Array();14var working_status;15var baseURL = '';16function initializeMap(lat, lng, company_id, time_from, time_to, all_drivers, project_id, delivered_working_status, access_token) {17 working_status = delivered_working_status;18 19 L.mapbox.accessToken = access_token;20 21 map = L.mapbox.map('map', project_id).setView([lat, lng], 10);22 var loc = window.location.pathname;23 baseURL = loc.substring(0, window.location.pathname.lastIndexOf('/'));24 companyID = company_id;25 drivers = $.parseJSON(all_drivers);26 timeFrom = time_from;27 timeTo = time_to;28 29 foreachDriverDrawRoute();30}31function getDriverStatus(driver_id) {32 var defer = $.Deferred();33 $.ajax({34 url: baseURL,35 data: {36 action: 'driver_status_history_json',37 company_id: companyID,38 driver_id: driver_id,39 time_from: timeFrom,40 time_to: timeTo41 },42 dataType: 'json',43 success: defer.resolve,44 error: defer.reject45 });46 return defer.promise();47}48function foreachDriverDrawRoute() {49 var driver = drivers[driverIterator];50 getDriverStatus(driver.id)51 .done(function(data){52 53 var driver = drivers[driverIterator];54 console.log(driverIterator+':'+driver.id+': success');55 56 // start loading next driver status while drawing.57 driverIterator++;58 if(driverIterator < drivers.length) {59 foreachDriverDrawRoute();60 } else {61 // Need to resize62 // if count of drivers is 1 then no lines shows on map with javascript error63 if (drivers.length != 1)64 resizeToFit();65 };66 67 /***************** ãã¦ã¹ãªã¼ãã¼ããã¨ããã®ç·¯åº¦çµåº¦ãåå¾ ***************/68 /*69 var click = document.getElementById('click'),70 mousemove = document.getElementById('mousemove');71 map.on('mousemove', function(e) {72 console.log(e.containerPoint.toString() + ', ' + e.latlng.toString());73 var mapMarker = L.marker([e.latlng.lat, e.latlng.lng], {74 icon: L.icon({75 'iconUrl': 'templates/image/transparent_icon.png'76 })77 });78 mapMarker.addTo(map);79 mapMarker.bindPopup('<p><b>'+e.containerPoint.toString() + ', ' + e.latlng.toString()+'</b></p>');80 mapMarker.openPopup();81 });82 */83 /***************** ãã¹ã¦ã«ãã¼ã«ã¼ãè¨ç½® ***************/84 /*85 var points = Array();86 data.forEach(function(driver_status) {87 88 // Marker For Popup of driver status89 var mapMarker = L.marker([driver_status.latitude, driver_status.longitude], {90 icon: L.icon({91 'iconUrl': 'templates/image/transparent_icon.png'92 })93 });94 mapMarker.addTo(map);95 mapMarker.bindPopup('<p><b>'+driver_status.created+'</b></p><p>'+driver_status.address+'</p>');96 mapMarker.on('mouseover', function(m) {97 mapMarker.openPopup();98 });99 100 // points for Polyline 101 points.push(L.latLng(driver_status.latitude, driver_status.longitude) );102 var point = L.point();103 });104 //console.log(points);105 console.log(driver);106 driverPolylines[driver.id] = L.polyline(points, {color: '#'+driver.color, opacity:0.5}).addTo(map);107 */108 /****************************************************/109 /**************************** ãµã¼ãã¼ã«ãããã®ã¨åã ****************************/110 //console.log(data);111 var points = Array();112 data['points'].forEach(function(driver_status) {113 //console.log(driver_status);114 points.push(L.latLng(driver_status.latitude, driver_status.longitude) );115 116 var point = L.point();117 });118 //console.log(points);119 console.log(driver);120 var polyLine = L.polyline(points, {color: '#'+driver.color, opacity:0.5});121 polyLine.addTo(map);122 polyLine.on('mouseover', function(e) {123 console.log(e);124 });125 driverPolylines[driver.id] = polyLine;126 /****************************************************************************/127 128 // Even if count of drivers is 1 , call resizeToFit() without error129 if (drivers.length == 1)130 resizeToFit( driver.id );131 132 })133 .fail(function(data){134 console.log(driverIterator+':'+driver.id+': failed');135 console.log(data);136 driverIterator++;137 if(driverIterator < drivers.length) {138 foreachDriverDrawRoute();139 }140 });141}142/*143 * å°å³ä¸ã®ååãã¯ãªãã¯ããããã©ã¤ãã¼ã®ç·¯åº¦çµåº¦ãåå¾ããéæãã¼ã«ã¼ãè¨ç½®144 */145function getSelectedDriverPoints( driver_id ) {146 for (var i = 0; i < pointMarkers.length; i++){147 map.removeLayer(pointMarkers[i]); 148 }149 pointMarkers.length = 0;150 151 getDriverStatus(driver_id)152 .done(function(data){153 154 /***************** ãã¼ã«ã¼ãè¨ç½® ***************/155 var driver_name = data['driver_name'];156 data['points'].forEach(function(driver_status) {157 // Marker For Popup of driver status158 var mapMarker = L.marker([driver_status.latitude, driver_status.longitude], {159 icon: L.icon({160 'iconUrl': 'templates/image/transparent_icon.png'161 })162 });163 164 var status_ja;165 if ( driver_status.status == 1 ) {166 status_ja = working_status.action_1;167 } else if ( driver_status.status == 2 ) {168 status_ja = working_status.action_2;169 } else if ( driver_status.status == 3 ) {170 status_ja = working_status.action_3;171 } else if ( driver_status.status == 4 ) {172 status_ja = working_status.action_4;173 }174 175 mapMarker.addTo(map);176 mapMarker.bindPopup('<p><b>'+driver_status.created+'</b></p><p>'+driver_name+'</p><p>'+status_ja+'</p><p>'+driver_status.address+'</p>');177 mapMarker.on('mouseover', function(m) {178 mapMarker.openPopup();179 });180 181 // points for Polyline 182 pointMarkers.push( mapMarker );183 });184 /****************************************************/185 })186 .fail(function(data){187 console.log(driverIterator+':'+driver.id+': failed');188 console.log(data);189 driverIterator++;190 if(driverIterator < drivers.length) {191 foreachDriverDrawRoute();192 }193 });194}195function resizeToFitAll() {196 var mapBounds = _.reduce(driverPolylines, function(bounds, polyline) {197 if(!polyline) return bounds;198 199 var polylineBounds = polyline.getBounds();200 if(!bounds) {201 return polylineBounds;202 } else if(bounds.contains(polylineBounds)){203 return bounds;204 } else {205 return bounds.extend(polylineBounds);206 }207 });208 map.fitBounds(mapBounds);209}210function resizeToFit(driver_id) {211 if(driver_id == undefined) {212 resizeToFitAll();213 return;214 }215 if(selectedPolyLine) {216 selectedPolyLine.setStyle({opacity:0.5, weight:5, dasharray:null});217 }218 var polyline = driverPolylines[driver_id];219 polyline.bringToFront();220 console.log(polyline);221 var color = polyline.options.color;222 var bounds = driverPolylines[driver_id].getBounds();223 console.log(bounds);224 if(bounds.getNorth() != bounds.getSouth() || bounds.getWest() != bounds.getEast()) map.fitBounds(bounds);225 //polyline.setStyle({opacity:1, weight:10, color:"#FFFFFF"});226 227 selectedPolyLine = polyline;228 window.setTimeout(function(){229 selectedPolyLine.setStyle({weight:14, opacity:1});230 animateShrinkPolylineToDefault(selectedPolyLine);231 }, 100);232 233 getSelectedDriverPoints( driver_id );234}235function animateShrinkPolylineToDefault(polyline) {236 window.setTimeout(function(){237 var weight = polyline.options.weight;238 if(weight > 5) {239 weight-=2;240 polyline.setStyle({weight: weight, dasharray:null});241 animateShrinkPolylineToDefault(polyline);242 }243 }, 100);...
DriverStatusScreen.js
Source:DriverStatusScreen.js
1import React, { Component } from "react";2import {3 View,4 Text,5 Image,6 BackHandler,7 AsyncStorage8} from "react-native";9import RedBulb from "../../assets/driver_off.png";10import GreenBulb from "../../assets/driver_on.png";11import FlipToggle from 'react-native-flip-toggle-button';12import { Actions } from "react-native-router-flux";13import { connect } from "react-redux";14import {15 driverStatusCall,16 showDriverStatusLoading,17 clearDriverStatusRecord18} from "../../actions/index";19class DriverStatusScreen extends Component {20 constructor(props) {21 super(props);22 this.state = {23 loading: false,24 dashboardData: '',25 }26 }27 state = {28 isActive: false,29 showRedBulb: true30 };31 componentWillMount()32 {33 if (this.props.driverStatusResponseData != undefined && this.props.driverStatusResponseData != '') {34 this.props.clearDriverStatusRecord();35 }36 }37 componentDidMount() {38 39 BackHandler.addEventListener('hardwareBackPress', this.onBackPress);40 }41 componentWillUnmount() {42 BackHandler.removeEventListener('hardwareBackPress', this.onBackPress);43 }44 onBackPress() {45 if (Actions.state.index === 1) {46 47 BackHandler.exitApp();48 return false;49 }50 51 Actions.pop();52 return true;53 }54 renderBulbImage() {55 var imgSource = this.state.showRedBulb ? GreenBulb : RedBulb ;56 return (57 <Image58 style={{ width: 128, height: 209 }}59 source={imgSource}60 />61 );62 }63 componentWillReceiveProps(nextProps) {64 if (nextProps.driverStatusResponseData != undefined && nextProps.driverStatusResponseData != '') {65 66 if (nextProps.driverStatusResponseData.status == 200) {67 this.props.showDriverStatusLoading(false);68 AsyncStorage.setItem("userData", JSON.stringify(nextProps.driverStatusResponseData.data));69 Actions.pop();70 Actions.Dashboard();71 }72 else {73 this.props.showDriverStatusLoading(false);74 alert(nextProps.driverStatusResponseData.message);75 76 }77 }78 }79 onToggleButtonClicked() {80 81 AsyncStorage.getItem("userData").then((value) => {82 if (value) {83 userId = JSON.parse(value)._id;84 this.props.showDriverStatusLoading(true);85 if (JSON.parse(value).type == 'driver') {86 var driverStatus = {87 driverid: userId,88 dutystatus: 'off'89 };90 }91 this.props.driverStatusCall(driverStatus);92 }93 }).done();94 }95 render() {96 return (97 <View98 style={{ alignItems: 'center', marginTop: 50 }}>99 {this.renderBulbImage()}100 <Text101 style={{ fontSize: 25, color: '#14136d', fontWeight: 'bold', marginTop: 30, marginBottom: 20 }}>102 Current Status103 </Text>104 <Text105 style={{ fontSize: 18, marginTop: 10, marginBottom: 40, marginStart: 10, marginEnd: 10 }}>106 Please select on Duty if you are Available and ready to Deliver !!107 </Text>108 <FlipToggle109 value={this.state.isActive}110 buttonWidth={200}111 buttonHeight={50}112 buttonRadius={50}113 sliderWidth={50}114 sliderHeight={50}115 sliderRadius={50}116 onLabel={'ON DUTY'}117 offLabel={'OFF DUTY'}118 sliderOnColor="black"119 sliderOffColor="black"120 buttonOnColor="green"121 buttonOffColor="red"122 labelStyle={{ fontSize: 16, color: 'white' }}123 onToggle={(value) => { this.setState({ isActive: value, showRedBulb: !this.state.showRedBulb }), this.onToggleButtonClicked() }}124 />125 </View>126 );127 }128}129const mapStateToProps = ({ driverStatusReducer }) => {130 const { driverStatusResponseData, isLoading } = driverStatusReducer;131 return {132 driverStatusResponseData: driverStatusResponseData,133 isLoading: isLoading134 }135}...
firebase.js
Source:firebase.js
1import store from '../store'2import {setStrike, setPhase, setDriverStatus, setNavigatorStatus} from '../reducers/strike-phase'3import $ from 'jquery'4// FIREBASE MODULE5/* global firebase location */6var config = {7 apiKey: API_KEY,8 authDomain: AUTH_DOMAIN,9 databaseURL: DATABASE_URL,10 projectId: PROJECT_ID,11 storageBucket: STORAGE_BUCKET,12 messagingSenderId: MESSAGING_SENDER_ID13}14firebase.initializeApp(config)15console.log('FIREBASE initialized')16export const setupDataBase = (referenceString) => firebase.database().ref(referenceString)17const roomName = location.hash.substring(1, location.hash.length)18const strikesDB = setupDataBase(`${roomName}/strikes`)19const phaseDB = setupDataBase(`${roomName}/phase`)20const navigatorStatusDB = setupDataBase(`${roomName}/navigatorStatus`)21const driverStatusDB = setupDataBase(`${roomName}/driverStatus`)22export const startSyncingPhaseAndStrikes = isNavigator => {23 if (!isNavigator) {24 // DRIVER WRITE ONLY for strikes and phases25 const initialState = store.getState()26 let currentStrikes = initialState.strikes27 let currentPhase = initialState.phase28 strikesDB.set(currentStrikes)29 phaseDB.set(currentPhase)30 driverStatusDB.set(true)31 const handleChange = () => {32 let previousStrikes = currentStrikes33 let previousPhase = currentPhase34 let state = store.getState()35 let currentStrikes = state.strikes36 let currentPhase = state.phase37 if (previousStrikes !== currentStrikes) {38 strikesDB.set(currentStrikes)39 // console.log('Strikes changed from', previousStrikes, 'to', currentStrikes)40 }41 if (previousPhase !== currentPhase) {42 // console.log('Phase changed from', previousPhase, 'to', currentPhase)43 phaseDB.set(currentPhase)44 }45 }46 const unsubscribe = store.subscribe(handleChange)47 navigatorStatusDB.on('value', (snapshot) => {48 const navigatorStatus = snapshot.val()49 if (navigatorStatus) {50 store.dispatch(setNavigatorStatus(true))51 } else {52 store.dispatch(setNavigatorStatus(false))53 }54 })55 // Set status on exit56 $(window).on('beforeunload', () => {57 driverStatusDB.set(false)58 })59 } else {60 // NAVIGATOR READONLY61 navigatorStatusDB.set(true)62 strikesDB.on('value', (snapshot) => {63 const state = store.getState()64 const DBStrikes = snapshot.val()65 let currentStrikes = state.strikes66 // console.log('CURRENT STRIKES: ', currentStrikes)67 // console.log('DB STRIKES: ', DBStrikes)68 if (currentStrikes !== DBStrikes) {69 // console.log('INCREMENTING STRIKES')70 store.dispatch(setStrike(DBStrikes))71 }72 })73 // NAVIGATOR74 phaseDB.on('value', (snapshot) => {75 const state = store.getState()76 let currentPhase = state.phase77 // console.log('CURRENT PHASE: ', currentPhase)78 const DBPhase = snapshot.val()79 // console.log('DB PHASE: ', DBPhase)80 if (currentPhase !== DBPhase) {81 // console.log('INCREMENTING PHASE')82 store.dispatch(setPhase(DBPhase))83 }84 })85 driverStatusDB.on('value', (snapshot) => {86 const driverStatus = snapshot.val()87 if (driverStatus) {88 store.dispatch(setDriverStatus(true))89 } else {90 store.dispatch(setDriverStatus(false))91 }92 })93 // Set status on exit94 $(window).on('beforeunload', () => {95 navigatorStatusDB.set(false)96 })97 }...
DriverStatusContainer.spec.js
Source:DriverStatusContainer.spec.js
1import React from 'react';2import { shallow } from 'enzyme';3import DriverStatusContainer from './DriverStatusContainer';4jest.useFakeTimers();5const makeProps = props => ({6 available: false,7 initialFetch: true,8 rides: {9 isFetching: false,10 },11 ride_zone_stats: null,12 update_location_interval: 0,13 waiting_rides_interval: 0,14 fetchRides: () => {},15 fetchStatus: () => {},16 fetchRideZoneStats: () => {},17 submitAvailable: () => {},18 submitLocation: () => {},19 ...props,20});21describe('DriverStatusContainer', () => {22 it('fetches driver status on mount', () => {23 const mockedFetchStatus = jest.fn();24 const wrapper = shallow(25 <DriverStatusContainer26 {...makeProps({ fetchStatus: mockedFetchStatus })}27 />28 );29 expect(mockedFetchStatus).toHaveBeenCalledTimes(1);30 });31 it('fetches driver status every 60 seconds', () => {32 const mockedFetchStatus = jest.fn();33 const wrapper = shallow(34 <DriverStatusContainer35 {...makeProps({ fetchStatus: mockedFetchStatus })}36 />37 );38 const threeMinutes = 60 * 3 * 1000;39 jest.advanceTimersByTime(threeMinutes);40 expect(mockedFetchStatus).toHaveBeenCalledTimes(4);41 });42 it('renders an initial Loader', () => {43 const wrapper = shallow(<DriverStatusContainer {...makeProps()} />);44 expect(wrapper.find('Loading').length).toEqual(1);45 });46 it('renders RideContainer', () => {47 const wrapper = shallow(48 <DriverStatusContainer49 {...makeProps({ initialFetch: false, available: true })}50 />51 );52 expect(wrapper.find('RideContainer').length).toEqual(1);53 });54 it('renders Unavailable', () => {55 const wrapper = shallow(56 <DriverStatusContainer57 {...makeProps({ initialFetch: false, available: false })}58 />59 );60 expect(wrapper.find('Unavilable').length).toEqual(1);61 });...
DriverStatusActions.js
Source:DriverStatusActions.js
1import {2 DRIVER_STATUS,3 SHOW_DRIVER_STATUS_LOADING,4 CLEAR_DRIVER_STATUS5 6 } from './actionTypes';7import APIURLCONSTANTS from "../ApiUrlList";8export const showDriverStatusLoading =(value)=>{9 //10 return (dispatch) => {11 dispatch({12 type: SHOW_DRIVER_STATUS_LOADING,13 payload: value14 });15 }16 };17 export const driverStatusCall = ({driverid,dutystatus}) => {18 19 20 21 22 23 return (dispatch) => {24 25 //call the API and use the promise to check the response26 // in response callBack .then() call the dispatcher.27 28 fetch(APIURLCONSTANTS.DRIVER_STATUS_URL , {29 method: 'POST',30 headers: {31 'Accept': 'application/json',32 'Content-Type': 'application/json',33 },34 body: JSON.stringify({driverid,dutystatus})35 })36 .then( (response) => {37 38 return response.json();39 })40 .then( (responseJSON) => {41 42 43 dispatch({44 type:DRIVER_STATUS,45 payload: responseJSON46 });47 48 // const loaderHandler = require('react-native-busy-indicator/LoaderHandler').default.default;49 //loaderHandler.hideLoader();50 })51 .catch(e => {52 53 alert('Server not responding');54 dispatch({55 type: SHOW_DRIVER_STATUS_LOADING,56 payload: false57 });58 59 });60 }61 62 };63 export const clearDriverStatusRecord = () => ({64 type:CLEAR_DRIVER_STATUS...
strike-phase.js
Source:strike-phase.js
1export const PASSING = 'PASSING'2export const FAILING = 'FAILING'3export const SET_STRIKE = 'SET_STRIKE'4export const SET_PHASE = 'SET_PHASE'5export const SET_NAVIGATOR_STATUS = 'SET_NAVIGATOR_STATUS'6export const SET_DRIVER_STATUS = 'SET_DRIVER_STATUS'7// #### INITIAL STATE #### //8const initialPhaseStrike = {9 phase: 1,10 strikes: 0,11 navigatorStatus: false,12 driverStatus: false,13}14// #### ACTION CREATORS #### //15export const addStrike = () => ({16 type: FAILING17})18export const addPhase = () => ({19 type: PASSING20})21export const setStrike = strikes => ({22 type: SET_STRIKE,23 strikes24})25export const setPhase = phase => ({26 type: SET_PHASE,27 phase28})29export const setNavigatorStatus = navigatorStatus => ({30 type: SET_NAVIGATOR_STATUS,31 navigatorStatus32})33export const setDriverStatus = driverStatus => ({34 type: SET_DRIVER_STATUS,35 driverStatus36})37// #### REDUCER #### //38export default function(state = initialPhaseStrike, action) {39 const newState = Object.assign({}, state)40 switch (action.type) {41 case PASSING:42 newState.phase ++43 break44 case FAILING:45 newState.strikes ++46 break47 case SET_PHASE:48 newState.phase = action.phase49 break50 case SET_STRIKE:51 newState.strikes = action.strikes52 break53 case SET_NAVIGATOR_STATUS:54 newState.navigatorStatus = action.navigatorStatus55 break56 case SET_DRIVER_STATUS:57 newState.driverStatus = action.driverStatus58 break59 default:60 return state61 }62 return newState...
DashboardReducer.js
Source:DashboardReducer.js
1import {2 DASHBOARD_API,3 SHOW_DASHBOARD_LOADING,4 DRIVER_STATUS,5 CLEAR_DRIVER_STATUS_RESPONSE,6 7} from "../actions/actionTypes";8const INITIAL_STATE = {9 dasboardResponseData: '',10 driverStatusResData: '',11 isLoading: false12}13export default (state = INITIAL_STATE, action) => {14 switch (action.type) {15 case DASHBOARD_API:16 return { ...state, dasboardResponseData: action.payload }17 case SHOW_DASHBOARD_LOADING:18 return { ...state, isLoading: action.payload }19 case DRIVER_STATUS:20 return { ...state, driverStatusResData: action.payload }21 case CLEAR_DRIVER_STATUS_RESPONSE:22 return { ...state, driverStatusResData:'' }23 24 default:25 return state;26 }...
DriverStatusReducer.js
Source:DriverStatusReducer.js
1import {2 DRIVER_STATUS,3 SHOW_DRIVER_STATUS_LOADING,4 CLEAR_DRIVER_STATUS5 6 } from '../actions/actionTypes';7 const INITIAL_STATE = {8 9 driverStatusResponseData: '',10 isLoading: false11}12export default (state = INITIAL_STATE, action) => {13 switch (action.type) {14 15 case DRIVER_STATUS:16 return { ...state, driverStatusResponseData: action.payload }17 case SHOW_DRIVER_STATUS_LOADING:18 return { ...state, isLoading: action.payload }19 case CLEAR_DRIVER_STATUS:20 return { ...state, driverStatusResponseData: '' }21 default:22 return state;23 }...
Using AI Code Generation
1const { remote } = require('webdriverio')2async function main() {3 const browser = await remote({4 capabilities: {5 }6 })7 await browser.status()8 await browser.deleteSession()9}10main().catch((e) => console.error(e))
Using AI Code Generation
1const { BaseDriver } = require('appium-base-driver');2const driver = new BaseDriver();3const status = await driver.status();4console.log(status);5const { XCUITestDriver } = require('appium-xcuitest-driver');6const driver = new XCUITestDriver();7const status = await driver.status();8console.log(status);
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!!