How to use driver.back method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

apply.js

Source:apply.js Github

copy

Full Screen

1// pages/apply/apply.js2var util = require('../../utils/util.js')3var app = getApp()4Page({5 data: {6 driver_front: '../../images/one.jpg',7 driver_back: '../../images/two.jpg',8 driving_front: '../../images/three.jpg',9 driving_back: '../../images/four.jpg',10 studentcard: '../../images/five.jpg',11 car_front: '../../images/audi.png',12 imgadd_driver_front: [],13 imgadd_driver_back: [],14 imgadd_driving_front: [],15 imgadd_driving_back: [],16 imgadd_studentcard:[],17 imgadd_car_front:[],18 is_1_ok: 0,19 is_2_ok: 0,20 is_3_ok: 0,21 is_4_ok: 0,22 is_5_ok: 0,23 is_6_ok: 0,24 obct:'请上传照片',25 studentid:0,26 apply_id:[]27 },28 /**29 * 生命周期函数--监听页面加载30 */31 onLoad: function () {32 var that = this;33 wx.getStorage({34 key: 'obj',35 success: function (res) {36 console.log(res.data.openId)37 that.setData({38 nickName:res.data.nickName,39 openId: res.data.openId40 })41 }42 }),43 wx.getStorage({44 key: 'studentid',45 success: function (res) {46 console.log(res.data)47 that.setData({48 studentid: res.data49 })50 }51 });52 },53 /**54 * 生命周期函数--监听页面初次渲染完成55 */56 onReady: function () {57 58 },59 /**60 * 生命周期函数--监听页面显示61 */62 onShow: function () {63 64 },65 /**66 * 生命周期函数--监听页面隐藏67 */68 onHide: function () {69 70 },71 /**72 * 生命周期函数--监听页面卸载73 */74 onUnload: function () {75 76 },77 /**78 * 页面相关事件处理函数--监听用户下拉动作79 */80 onPullDownRefresh: function () {81 82 },83 /**84 * 页面上拉触底事件的处理函数85 */86 onReachBottom: function () {87 88 },89 /**90 * 用户点击右上角分享91 */92 onShareAppMessage: function () {93 94 },95 up_driver_front: function () {96 var that = this97 wx.chooseImage({98 count: 1,99 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图100 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有101 success: function (res) {102 var driver_front = res.tempFilePaths103 that.setData({104 driver_front: res.tempFilePaths[0]105 })106 console.log(driver_front)107 wx.setStorage({ key: "img_driver_front", data: driver_front })108// 存入私有文件夹109 wx.uploadFile({110 url: "https://sscar.ptczn.cn/index.php/index/index/upload",111 filePath: driver_front[0],112 name: 'add_image', //文件对应的参数名字(key) 113 formData: {114 'openId': that.data.openId,115 'studentid': that.data.studentid,116 'which_one':1117 }, //其它的表单信息 118 success: function (res) {119 console.log(res); 120 that.setData({121 imgadd_driver_front: res.data,122 is_1_ok: 3,123 }) 124 } 125 }) 126//公开识别127 wx.uploadFile({128 url: "https://sscar.ptczn.cn/index.php/index/index/recog_driv_front",129 filePath: driver_front[0],130 name: 'add_image', //文件对应的参数名字(key) 131 formData: {132 'openId': that.data.openId,133 'studentid': that.data.studentid,134 'type':1135 }, //其它的表单信息 136 success: function (res) {137 console.log(res);138 var driver_front_data_tmp = JSON.parse(res.data);139 var driver_front_data = JSON.parse(driver_front_data_tmp);140 if (driver_front_data.code == 0){141 console.log(driver_front_data)142 that.setData({143 obct: '识别成功',144 is_1_ok: 1,145 })146 console.log(driver_front_data.data)147 wx.setStorage({ key: "driver_front_data", data: driver_front_data.data.items })148 }else{149 that.setData({150 obct: '未识别到驾驶证',151 is_1_ok: 2,152 })153 }154 console.log(driver_front_data.data.items)155 } 156 })157 }158 })159 },160 up_driving_front: function () {161 var that = this162 wx.chooseImage({163 count: 1,164 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图165 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有166 success: function (res) {167 var driving_front = res.tempFilePaths168 that.setData({169 driving_front: res.tempFilePaths[0]170 })171 console.log(driving_front)172 wx.setStorage({ key: "img_driving_front", data:driving_front })173 // 存入私有文件夹174 wx.uploadFile({175 url: "https://sscar.ptczn.cn/index.php/index/index/upload",176 filePath: driving_front[0],177 name: 'add_image', //文件对应的参数名字(key) 178 formData: {179 'openId': that.data.openId,180 'studentid': that.data.studentid,181 'which_one': 3182 }, //其它的表单信息 183 success: function (res) {184 console.log(res);185 that.setData({186 imgadd_driving_front: res.data,187 is_3_ok: 3,188 })189 }190 })191 //公开识别192 wx.uploadFile({193 url: "https://sscar.ptczn.cn/index.php/index/index/recog_driv_front",194 filePath: driving_front[0],195 name: 'add_image', //文件对应的参数名字(key) 196 formData: {197 'openId': that.data.openId,198 'type': 0199 }, //其它的表单信息 200 success: function (res) {201 console.log(res);202 var driving_front_data_tmp = JSON.parse(res.data);203 var driving_front_data = JSON.parse(driving_front_data_tmp);204 if (driving_front_data.code == 0) {205 that.setData({206 obct: '识别成功',207 is_3_ok: 1,208 })209 wx.setStorage({ key: "driving_front_data", data: driving_front_data.data.items })210 } else {211 that.setData({212 obct: '未识别到行驶证',213 is_3_ok: 2,214 })215 }216 console.log(driving_front_data.data.items)217 }218 })219 }220 })221 },222 up_driver_back: function () {223 var that = this224 wx.chooseImage({225 count: 1,226 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图227 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有228 success: function (res) {229 var driver_back = res.tempFilePaths230 that.setData({231 driver_back: res.tempFilePaths[0]232 })233 console.log(driver_back)234 // 存入私有文件夹235 wx.uploadFile({236 url: "https://sscar.ptczn.cn/index.php/index/index/upload",237 filePath: driver_back[0],238 name: 'add_image', //文件对应的参数名字(key) 239 formData: {240 'openId': that.data.openId,241 'studentid': that.data.studentid,242 'which_one': 2243 }, //其它的表单信息 244 success: function (res) {245 console.log(res);246 that.setData({247 imgadd_driver_back: res.data,248 is_2_ok: 1,249 })250 }251 })252 253 }254 })255 },256 up_driving_back: function () {257 var that = this258 wx.chooseImage({259 count: 1,260 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图261 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有262 success: function (res) {263 var driving_back = res.tempFilePaths264 that.setData({265 driving_back: res.tempFilePaths[0]266 })267 console.log(driving_back)268 // 存入私有文件夹269 wx.uploadFile({270 url: "https://sscar.ptczn.cn/index.php/index/index/upload",271 filePath: driving_back[0],272 name: 'add_image', //文件对应的参数名字(key) 273 formData: {274 'openId': that.data.openId,275 'studentid': that.data.studentid,276 'which_one': 4277 }, //其它的表单信息 278 success: function (res) {279 console.log(res);280 that.setData({281 imgadd_driving_back: res.data,282 is_4_ok: 1,283 })284 }285 })286 }287 })288 },289 up_studentcard: function () {290 var that = this291 wx.chooseImage({292 count: 1,293 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图294 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有295 success: function (res) {296 var studentcard = res.tempFilePaths297 that.setData({298 studentcard: res.tempFilePaths[0]299 })300 console.log(studentcard)301 wx.setStorage({ key: "img_studentcard", data: studentcard })302 // 存入私有文件夹303 wx.uploadFile({304 url: "https://sscar.ptczn.cn/index.php/index/index/upload",305 filePath: studentcard[0],306 name: 'add_image', //文件对应的参数名字(key) 307 formData: {308 'openId': that.data.openId,309 'studentid': that.data.studentid,310 'which_one': 5311 }, //其它的表单信息 312 success: function (res) {313 console.log(res)314 that.setData({315 imgadd_studentcard: res.data,316 is_5_ok: 1,317 })318 }319 })320 }321 })322 },323 up_car_front: function () {324 var that = this325 wx.chooseImage({326 count: 1,327 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图328 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有329 success: function (res) {330 var car_front = res.tempFilePaths331 that.setData({332 car_front: res.tempFilePaths[0]333 })334 console.log(car_front)335 // 存入私有文件夹336 wx.uploadFile({337 url: "https://sscar.ptczn.cn/index.php/index/index/recog_car_front",338 filePath: car_front[0],339 name: 'add_image', //文件对应的参数名字(key) 340 formData: {341 'openId': that.data.openId,342 'studentid': that.data.studentid,343 'which_one': 6344 }, //其它的表单信息 345 success: function (res) {346 console.log(res);347 var car_front_data_tmp = JSON.parse(res.data);348 that.setData({349 imgadd_car_front: car_front_data_tmp.imgadd,350 })351 console.log(car_front_data_tmp.imgadd)352 var car_front_data = JSON.parse(car_front_data_tmp.res);353 if (car_front_data.code == 0) {354 that.setData({355 obct: '识别成功',356 is_6_ok: 1,357 })358 wx.setStorage({ key: "car_front_data", data: car_front_data.data.items })359 } else {360 that.setData({361 obct: '未识别到车牌号'362 })363 }364 console.log(car_front_data.data.items)365 }366 }) 367 }368 })369 },370 totxt: function () {371 var that = this;372 wx.request({373 url: 'https://sscar.ptczn.cn/index.php/index/index/sql_photo',374 data: {375 // code: "oneyuan",376 'driver_front': that.data.imgadd_driver_front,377 'driver_back': that.data.imgadd_driver_back,378 'driving_front': that.data.imgadd_driving_front,379 'driving_back': that.data.imgadd_driving_back,380 'studentcard': that.data.imgadd_studentcard,381 'car_front': that.data.imgadd_car_front,382 'openId': that.data.openId,383 'studentid': that.data.studentid384 },385 method: "POST",386 header: {387 "Content-Type": "application/x-www-form-urlencoded" //post388 },389 success: function (res) {390 console.log(res.data.apply_id)391 var apply_id = res.data.apply_id;392 that.setData({393 apply_id: res.data.apply_id394 })395 wx.setStorageSync('apply_id', res.data.apply_id)396 }397 })398 if (this.data.is_1_ok == 1 && this.data.is_2_ok == 1 && this.data.is_3_ok == 1 && this.data.is_4_ok == 1 && this.data.is_5_ok == 1 && this.data.is_6_ok==1){399 wx.navigateTo({400 url: "/pages/txt/txt?apply_id=" + that.data.apply_id401 })402 }else{403 wx.showModal({404 title: '出错啦',405 content: '上传的照片可能未识别成功,请返回尝试。若多次尝试仍出现此提示,可点击坚持提交后手动修改',406 confirmText:'返回尝试',407 cancelText:'坚持提交',408 success: function (res) {409 if (res.confirm) {410 console.log('用户点击返回尝试')411 } else if (res.cancel) {412 console.log('用户点击坚持提交')413 414 console.log(that.data.apply_id)415 wx.navigateTo({416 url: "/pages/txt/txt?apply_id=" + that.data.apply_id417 })418 }419 }420 })421 }422 }...

Full Screen

Full Screen

travel-manager.factory.test.js

Source:travel-manager.factory.test.js Github

copy

Full Screen

1'use strict';2describe('Given a TravelManager instance', function() {3 var mockDialog = {};4 beforeEach(module("TravelServices", function ($provide) {5 $provide.value("$mdDialog", mockDialog);6 }));7 beforeEach(module('TestUtils'));8 var $httpBackend,9 $rootScope,10 TravelManager,11 TestUtils;12 beforeEach(function() {13 angular.mock.inject(function ($injector) {14 $httpBackend = $injector.get('$httpBackend');15 $rootScope = $injector.get('$rootScope');16 TravelManager = $injector.get('TravelManager');17 TestUtils = $injector.get('TestUtils');18 });19 });20 it('on passenger add the new passenger will be emitted on the rootscope',21 function() {22 spyOn($rootScope, "$emit")23 TestUtils.addPassengerThere('1');24 expect($rootScope.$emit).toHaveBeenCalledWith("PASSENGER_ADDED", TestUtils.createPassengerThere('1'));25 }26 );27 it('a passenger there can be added and only TravelManager.there will be set',28 function() {29 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));30 expect(TravelManager.getPassengerThere().model.pk).toBe('1');31 expect(TravelManager.getDriverThere().model).toBe(null);32 expect(TravelManager.getPassengerBack().model).toBe(null);33 expect(TravelManager.getDriverBack().model).toBe(null);34 }35 );36 it('a driver there can be added and only TravelManager.there will be set',37 function() {38 TravelManager.addDriver(TestUtils.createRideThere('1'));39 expect(TravelManager.getDriverThere().model.pk).toBe('1');40 expect(TravelManager.getPassengerThere().model).toBe(null);41 expect(TravelManager.getPassengerBack().model).toBe(null);42 expect(TravelManager.getDriverBack().model).toBe(null);43 }44 );45 it('a passenger there and back can be added',46 function() {47 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));48 TravelManager.addPassenger(TestUtils.createPassengerBack('2'));49 expect(TravelManager.getPassengerThere().model.pk).toBe('1');50 expect(TravelManager.getDriverThere().model).toBe(null);51 expect(TravelManager.getPassengerBack().model.pk).toBe('2');52 expect(TravelManager.getDriverBack().model).toBe(null);53 }54 );55 it('a driver there and back can be added',56 function() {57 TravelManager.addDriver(TestUtils.createRideThere('1'));58 TravelManager.addDriver(TestUtils.createRideBack('2'));59 expect(TravelManager.getDriverThere().model.pk).toBe('1');60 expect(TravelManager.getPassengerThere().model).toBe(null);61 expect(TravelManager.getPassengerBack().model).toBe(null);62 expect(TravelManager.getDriverBack().model.pk).toBe('2');63 }64 );65 it('a driver there and a passenger back can be added',66 function() {67 TravelManager.addDriver(TestUtils.createRideThere('1'));68 TravelManager.addPassenger(TestUtils.createPassengerBack('2'));69 expect(TravelManager.getDriverThere().model.pk).toBe('1');70 expect(TravelManager.getPassengerThere().model).toBe(null);71 expect(TravelManager.getPassengerBack().model.pk).toBe('2');72 expect(TravelManager.getDriverBack().model).toBe(null);73 }74 );75 it('DRIVER_UPDATED event will be fired when the driver is updated',76 inject(function($rootScope) {77 var driver = TestUtils.createRideThere('1');78 driver.num_of_seats = 1;79 var emittedDriver = angular.copy(driver);80 emittedDriver.num_of_seats = 2;81 TravelManager.addDriver(driver);82 spyOn($rootScope, "$emit");83 TravelManager.getDriverThere().model.num_of_seats = 2;84 $httpBackend.expectPUT('/rest/1/rides/1/').respond(emittedDriver);85 TravelManager.getDriverThere().modify();86 $httpBackend.flush();87 expect($rootScope.$emit).toHaveBeenCalledWith("DRIVER_UPDATED", emittedDriver);88 })89 );90 it('when a passenger is deleted it will be emit on the rootscope and the model will be set to null',91 inject(function($rootScope) {92 var passenger = TestUtils.createPassengerThere('1');93 var emittedPassenger = TestUtils.createPassengerThere('1');94 TravelManager.addPassenger(passenger);95 spyOn($rootScope, "$emit")96 TestUtils.removePassengerThere();97 expect($rootScope.$emit).toHaveBeenCalledWith("PASSENGER_DELETED", emittedPassenger);98 expect(TravelManager.getPassengerThere().model).toBe(null);99 })100 );101 it('when a driver is deleted it will be emit on the rootscope and the model will be set to null',102 inject(function($rootScope) {103 var driver = TestUtils.createRideThere('1');104 var emittedDriver = TestUtils.createRideThere('1');105 TravelManager.addDriver(driver);106 spyOn($rootScope, "$emit")107 $httpBackend.expectDELETE('/rest/1/rides/1/').respond({});108 TravelManager.getDriverThere().remove()109 $httpBackend.flush();110 expect($rootScope.$emit).toHaveBeenCalledWith("DRIVER_DELETED", emittedDriver);111 expect(TravelManager.getDriverThere().model).toBe(null);112 })113 );114 it('a passenger can be deleted and then added',115 function() {116 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));117 TravelManager.getPassengerThere().remove();118 TravelManager.addPassenger(TestUtils.createPassengerThere('2'));119 expect(TravelManager.getPassengerThere().model.pk).toBe('2');120 expect(TravelManager.getDriverThere().model).toBe(null);121 expect(TravelManager.getPassengerBack().model).toBe(null);122 expect(TravelManager.getDriverBack().model).toBe(null);123 }124 );125 it('a driver can be deleted and then added',126 function() {127 TravelManager.addDriver(TestUtils.createRideThere('1'));128 $httpBackend.expectDELETE('/rest/1/rides/1/').respond({});129 TravelManager.getDriverThere().remove();130 $httpBackend.flush();131 TravelManager.addDriver(TestUtils.createRideThere('2'));132 expect(TravelManager.getDriverThere().model.pk).toBe('2');133 expect(TravelManager.getPassengerThere().model).toBe(null);134 expect(TravelManager.getPassengerBack().model).toBe(null);135 expect(TravelManager.getDriverBack().model).toBe(null);136 }137 );138 it('a isDriving returns false for passenger',139 function() {140 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));141 expect(TravelManager.getTravelThere().isDriving()).toBe(false);142 }143 );144 it('a isDriving returns true for driver',145 function() {146 TravelManager.addDriver(TestUtils.createRideThere('1'));147 expect(TravelManager.getTravelThere().isDriving()).toBe(true);148 }149 );150 it('a isEmpty returns true when neither a driver nor a passenger exist in that direction',151 function() {152 expect(TravelManager.getTravelThere().isEmpty()).toBe(true);153 }154 );155 it('a isEmpty returns false when a driver exist in that direction',156 function() {157 TravelManager.addDriver(TestUtils.createRideThere('1'));158 expect(TravelManager.getTravelThere().isEmpty()).toBe(false);159 }160 );161 it('a isEmpty returns false when a passenger exist in that direction',162 function() {163 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));164 expect(TravelManager.getTravelThere().isEmpty()).toBe(false);165 }166 );167 it('a isEmpty returns true when a passenger exist in the other direction',168 function() {169 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));170 expect(TravelManager.getTravelBack().isEmpty()).toBe(true);171 }172 );173 it('getModelThere returns null if there is no passenger neither driver there',174 function() {175 expect(TravelManager.getModelThere()).toBe(null);176 }177 );178 it('getModelThere returns passenger model if there is a passenger there',179 function() {180 TravelManager.addPassenger(TestUtils.createPassengerThere('1'));181 expect(TravelManager.getModelThere().pk).toBe('1');182 }183 );184 it('getModelThere returns driver model if there is a driver there',185 function() {186 TravelManager.addDriver(TestUtils.createRideThere('1'));187 expect(TravelManager.getModelThere().pk).toBe('1');188 }189 );190 it('getModelThere returns null if there is a passenger back',191 function() {192 TravelManager.addPassenger(TestUtils.createPassengerBack('1'));193 expect(TravelManager.getModelThere()).toBe(null);194 }195 );196 it('getModelThere returns null if there is a driver back',197 function() {198 TravelManager.addDriver(TestUtils.createRideBack('1'));199 expect(TravelManager.getModelThere()).toBe(null);200 }201 );202 it('getModelThere returns passenger if there is a driver back',203 function() {204 TravelManager.addDriver(TestUtils.createRideBack('1'));205 TravelManager.addPassenger(TestUtils.createPassengerThere('2'));206 expect(TravelManager.getModelThere().pk).toBe('2');207 }208 );209 it('getModelThere returns passenger if there is a passenger back',210 function() {211 TravelManager.addPassenger(TestUtils.createPassengerBack('1'));212 TravelManager.addPassenger(TestUtils.createPassengerThere('2'));213 expect(TravelManager.getModelThere().pk).toBe('2');214 }215 );...

Full Screen

Full Screen

DriverBackPhoto.js

Source:DriverBackPhoto.js Github

copy

Full Screen

1/* eslint-disable prettier/prettier */2import React, {useState, useEffect} from 'react';3import {4 SafeAreaView,5 StyleSheet,6 Text,7 View,8 TouchableOpacity,9 ScrollView,10 Image,11} from 'react-native';12import IconFeather from 'react-native-vector-icons/Feather';13import { COLORS } from '../../constants';14import {useDispatch, useSelector} from 'react-redux';15import {uploadDriveBack, resetPhotos} from '../../redux/User/user.actions';16import { RNCamera } from 'react-native-camera';17const PendingView = () => (18 <View19 style={{20 flex: 1,21 backgroundColor: 'lightgreen',22 justifyContent: 'center',23 alignItems: 'center',24 }}>25 <Text>Waiting</Text>26 </View>27);28const mapState = ({user}) => ({29 uploadDriverBackSuccess: user.uploadDriverBackSuccess,30 errors: user.errors,31});32const DriverBackPhoto = ({navigation}) => {33 const { uploadDriverBackSuccess, errors} = useSelector(mapState);34 const dispatch = useDispatch();35 console.log('uploadDriverBackSuccess =>', uploadDriverBackSuccess);36 console.log('errors =>', errors);37 const [imageSource, setImageSource] = useState(null)38 39 const takePicture = async function(camera) {40 const options = { quality: 0.8, base64: true };41 const data = await camera.takePictureAsync(options);42 setImageSource(data.uri)43 dispatch(uploadDriveBack(imageSource))44 // navigation.navigate('DriverIdentification')45 };46 const NextPage = () => {47 navigation.navigate('DriverIdentification')48 }49 // const uploadImage = () => {50 // if(imageSource){51 // dispatch(uploadDriveBack(imageSource))52 // }53 // }54 useEffect(() => {55 if(uploadDriverBackSuccess){56 setImageSource(null)57 dispatch(resetPhotos())58 navigation.navigate('DriverIdentification')59 }60 }, [uploadDriverBackSuccess])61 return (62 <ScrollView>63 <SafeAreaView style={styles.container}>64 <View 65 style={styles.scrollHeight}66 >67 <ScrollView 68 horizontal 69 showsHorizontalScrollIndicator={false}70 style={styles.scrollView} >71 <View72 style={styles.header}73 >74 <IconFeather75 name="arrow-left"76 size={25}77 color={COLORS.main}78 style={styles.icon_style}79 onPress={() => navigation.goBack()}80 />81 <View82 style={styles.center_header}83 >84 <View 85 style={styles.cardContainer}86 >87 <Text style={styles.text_above} >88 Driver's License89 </Text>90 <View91 style={styles.card}92 >93 {94 imageSource 95 ? <Image96 style={styles.currentImage}97 source={{98 uri: imageSource,99 }}100 />101 : null 102 }103 </View>104 <Text style={styles.text_under}>105 Take a photo of back side106 </Text>107 {imageSource ? (108 <TouchableOpacity 109 style={styles.nextBtn}110 onPress={NextPage()}111 >112 <Text style={styles.nextText}>Next</Text>113 </TouchableOpacity>114 ) : null}115 <View116 style={styles.leftEdge}117 >118 </View>119 <View120 style={styles.rightEdge}121 >122 </View>123 </View>124 </View>125 <TouchableOpacity126 style={styles.getPhoto}127 // onPress={uploadImage()}128 >129 </TouchableOpacity>130 </View>131 </ScrollView>132 </View>133 134 </SafeAreaView>135 <RNCamera136 style={styles.preview}137 type={RNCamera.Constants.Type.back}138 flashMode={RNCamera.Constants.FlashMode.off}139 androidCameraPermissionOptions={{140 title: 'Permission to use camera',141 message: 'We need your permission to use your camera',142 buttonPositive: 'Ok',143 buttonNegative: 'Cancel',144 }}145 captureAudio={false}146 >147 {({ camera, status }) => {148 if (status !== 'READY') return <PendingView />;149 return (150 <View style={{ flex: 0, flexDirection: 'row', justifyContent: 'center' }}>151 <TouchableOpacity onPress={() => takePicture(camera)} style={styles.capture}>152 <Text style={{ fontSize: 14 }}>153 <IconFeather154 style={styles.cameraIcon}155 name="camera"156 /> 157 </Text>158 </TouchableOpacity>159 </View>160 );161 }}162 </RNCamera>163 </ScrollView>164 );165};166export default DriverBackPhoto;167const styles = StyleSheet.create({168 nextBtn: {169 borderWidth: 1,170 borderColor: 'grey',171 fontSize: 16,172 position: 'absolute',173 bottom: -50,174 left: 110,175 width: 100,176 paddingVertical: 3,177 borderRadius: 4,178 },179 nextText: {180 textAlign: 'center',181 }, 182 currentImage: {183 height: 162,184 resizeMode:'contain',185 marginTop: 0,186 transform: [{rotate: '-90deg'}],187 },188 // 189 preview: {190 // flex: 1,191 // justifyContent: 'flex-end',192 // alignItems: 'center',193 position: 'absolute',194 height: 80,195 width: '100%',196 bottom: 0,197 left: 0,198 },199 capture: {200 flex: 0,201 backgroundColor: 'white',202 borderRadius: 5,203 padding: 5,204 paddingHorizontal: 10,205 alignSelf: 'center',206 margin: 20,207 transform: [{scale: 1.5}]208 },209 // 210 scrollHeight: {211 height: 660,212 }, 213 scrollView: {214 flex: 1,215 height: 50,216 backgroundColor: 'white',217 },218 container: {219 flex: 1,220 color: COLORS.main,221 backgroundColor: 'black',222 },223 header: {224 display: 'flex',225 flexDirection: 'row',226 borderBottomWidth: 0.5,227 borderBottomColor: COLORS.main,228 paddingVertical: 5,229 },230 center_header: {231 marginHorizontal: 100,232 marginVertical: 20,233 },234 text_above: {235 textAlign: 'center',236 fontSize: 13,237 backgroundColor: 'white',238 position: 'absolute',239 top: -20 ,240 left: 40,241 height: 60,242 width: 270,243 },244 text_under: {245 textAlign: 'center',246 fontSize: 16,247 backgroundColor: 'white',248 position: 'absolute',249 bottom: -15,250 left: 35,251 width: 270,252 },253 cardContainer: {254 marginTop: 40,255 position: 'relative',256 width: 340,257 height: 220,258 borderWidth: 1,259 borderColor: 'grey',260 },261 card: {262 marginTop: 25,263 marginLeft: 25,264 width: 285,265 height: 160,266 borderWidth: 1,267 borderColor: 'grey',268 },269 icon_style: {270 flex: 0.45,271 padding: 10,272 },273 getPhoto: {274 width: 60,275 height: 60,276 borderRadius: 45,277 backgroundColor: 'grey',278 display: 'flex',279 flexDirection: 'column',280 justifyContent: 'space-around',281 alignItems: 'center',282 marginTop: 140,283 marginHorizontal: 40,284 marginLeft: 0,285 },286 leftEdge: {287 position: 'absolute',288 backgroundColor: 'white',289 top: 35,290 left: -10,291 width: 20,292 height: 140,293 },294 rightEdge: {295 position: 'absolute',296 backgroundColor: 'white',297 top: 35,298 right: -10,299 width: 20,300 height: 140,301 },...

Full Screen

Full Screen

find-e2e-specs.js

Source:find-e2e-specs.js Github

copy

Full Screen

...18 it(`should find an element by it's xpath`, async function () {19 let el = await driver.elementByXPath("//*[@text='Animation']");20 el.should.exist;21 await el.click();22 await driver.back();23 });24 it('should find multiple elements that match one xpath', async function () {25 let els = await driver.elementsByXPath('//android.widget.TextView');26 els.length.should.be.above(1);27 await els[0].click();28 await driver.back();29 });30 it('should get the first element of an xpath that matches more than one element', async function () {31 let el = await driver.elementByXPath('//android.widget.TextView');32 el.should.exist;33 await el.click();34 await driver.back();35 });36 it('should throw a stale element exception if clicking on element that does not exist', async function () {37 let el = await driver.elementByXPath("//*[@content-desc='Animation']");38 await el.click();39 await retryInterval(5, 1000, async () => await el.click().should.eventually.be.rejectedWith(/no longer exists /));40 await driver.back();41 });42 it('should get the isDisplayed attribute on the same element twice', async function () {43 let el = await driver.elementByXPath("//*[@content-desc='Animation']");44 await el.isDisplayed().should.eventually.be.true;45 await el.isDisplayed().should.eventually.be.true;46 await el.click();47 await driver.back();48 });49 it('should match an element if the element is off-screen but has an accessibility id', async function () {50 let el = await driver.elementByAccessibilityId('Views');51 await el.click();52 // Click on an element that is at the bottom of the list53 let moveToEl = await driver.elementByAccessibilityId('WebView');54 await moveToEl.click();55 await driver.back();56 await driver.back();57 });58 it('should test element equality', async function () {59 let el = await driver.elementByAccessibilityId('Views');60 let elAgain = await driver.elementByXPath("//*[@content-desc='Views']");61 let elNonMatch = await driver.elementByAccessibilityId('Preference');62 await el.equals(elAgain).should.eventually.be.true;63 await el.equals(elNonMatch).should.eventually.be.false;64 });65 // TODO: This test is very flakey. Need to inspect this.66 it.skip('should scroll element back into view if was scrolled out of view (regression test for https://github.com/appium/appium-espresso-driver/issues/276)', async function () {67 // If we find an element by 'contentDescription', scroll out of view of that element, we should be able to scroll it back into view, as long68 // as that element has a content description associated with an adapter item69 let el = await driver.elementByAccessibilityId('Views');70 await el.click();71 el = await driver.elementByAccessibilityId('Custom');72 await el.text().should.eventually.equal('Custom');73 let {value: element} = await driver.elementById('android:id/list');74 await driver.execute('mobile: swipe', {direction: 'up', element});75 await el.text().should.eventually.equal('Custom');76 await driver.back();77 });78 });79 describe('by data matcher', function () {80 it('should find an element using a data matcher', async function () {81 let el = await driver.element('-android datamatcher', JSON.stringify({82 name: 'hasEntry', args: ['title', 'Animation']83 }));84 await el.click();85 await driver.elementByAccessibilityId('Bouncing Balls').should.eventually.exist;86 await driver.back();87 });88 it('should find an offscreen element using a data matcher', async function () {89 let viewsEl = await driver.elementByAccessibilityId('Views');90 await viewsEl.click();91 let el = await driver.element('-android datamatcher', JSON.stringify({92 name: 'hasEntry', args: ['title', 'WebView3']93 }));94 await el.click();95 await driver.back();96 await driver.elementByAccessibilityId('Controls').should.eventually.exist;97 await driver.back();98 });99 it('should fail to find elements with helpful error messages', async function () {100 await driver.element('-android datamatcher', JSON.stringify({101 name: 'hasEntry', args: ['title', 'A Fake Item']102 })).should.eventually.be.rejectedWith(/NoSuchElement/);103 });104 it('should fail with invalid selector with helpful error messages', async function () {105 await driver.element('-android datamatcher', JSON.stringify({106 name: 'notARealHamcrestMatcherStrategy', args: ['title', 'A Fake Item']107 })).should.eventually.be.rejectedWith(/InvalidSelector/);108 });109 it('should allow "class" property with fully qualified className', async function () {110 await driver.element('-android datamatcher', JSON.stringify({111 name: 'notARealHamcrestMatcherStrategy', args: ['title', 'A Fake Item'], class: 'org.hamcrest.Matchers',...

Full Screen

Full Screen

ViewRidesScreen.js

Source:ViewRidesScreen.js Github

copy

Full Screen

1import React, { useEffect, useState } from "react";2import { Text, View, TouchableOpacity } from "react-native";3import { useNavigation, useRoute } from "@react-navigation/native";4import { auth, db } from "../../../firebaseConfig/firebaseConfig";5import ViewRideRow from "../../components/ViewRIdeRow/ViewRideRow";6import styles from "./styles";7import { SafeAreaView, ScrollView } from "react-native";8import LoadingSpinner from "../../components/LoadingSpinner";9const ViewRidesScreen = () => {10 const navigation = useNavigation();11 const route = useRoute();12 const [rides, setRides] = useState(null);13 const [passengerTextColor, setPassengerTextColor] = useState("white");14 const [passengerBackGroundColor, setPassengerBackGroundColor] = useState(15 "#ad462f"16 );17 const [driverTextColor, setDriverTextColor] = useState("black");18 const [driverBackGroundColor, setDriverBackGroundColor] = useState("white");19 const [loading, setLoading] = useState(true);20 const [userType, setUserType] = useState("Passenger");21 const [passengerButton, setPassengerButton] = useState(true);22 const [DriverButton, setDriverButton] = useState(false);23 useEffect(() => {24 const unsubscribe = db25 .collection("rides")26 .where("userType", "==", `${userType}`)27 .onSnapshot((snapshot) => {28 setRides(29 snapshot.docs.map((doc) => ({30 id: doc.id,31 data: doc.data(),32 }))33 );34 setLoading(false);35 });36 return unsubscribe;37 }, [userType]);38 const changePassengerColor = () => {39 setPassengerTextColor("white");40 setPassengerBackGroundColor("#ad462f");41 setDriverTextColor("black");42 setDriverBackGroundColor("white");43 setDriverButton(false);44 setPassengerButton(true);45 setLoading(true);46 };47 const changeDriverColor = () => {48 setDriverTextColor("white");49 setDriverBackGroundColor("#ad462f");50 setPassengerTextColor("black");51 setPassengerBackGroundColor("white");52 setPassengerButton(false);53 setDriverButton(true);54 setLoading(true);55 };56 const onPassengerButton = () => {57 changePassengerColor();58 setUserType("Passenger");59 };60 const onDriverButton = () => {61 changeDriverColor();62 setUserType("Driver");63 };64 return (65 <SafeAreaView style={styles.container}>66 <View style={styles.TypeContainer}>67 <TouchableOpacity68 disabled={passengerButton}69 style={[70 styles.buttonContainer,71 { backgroundColor: passengerBackGroundColor },72 ]}73 onPress={onPassengerButton}74 >75 <Text style={[styles.buttonText, { color: passengerTextColor }]}>76 PASSENGER77 </Text>78 </TouchableOpacity>79 <TouchableOpacity80 disabled={DriverButton}81 style={[82 styles.buttonContainer,83 { backgroundColor: driverBackGroundColor },84 ]}85 onPress={onDriverButton}86 >87 <Text style={[styles.buttonText, { color: driverTextColor }]}>88 DRIVER89 </Text>90 </TouchableOpacity>91 </View>92 {loading ? (93 <LoadingSpinner color="white" />94 ) : (95 <ScrollView>96 <View style={styles.row}>97 {rides.map((data) => (98 <ViewRideRow data={data.data} key={data.id} id={data.id} />99 ))}100 </View>101 </ScrollView>102 )}103 </SafeAreaView>104 );105};...

Full Screen

Full Screen

travel-manager.factory.js

Source:travel-manager.factory.js Github

copy

Full Screen

1(function () {2 'use strict';3 angular.module('TravelServices').factory('TravelManager', TravelManager);4 TravelManager.$inject = ['Travel'];5 function TravelManager(Travel) {6 var there = angular.copy(Travel.travel);7 var back = angular.copy(Travel.travel);8 return {9 getPassengerThere: getPassengerThere,10 getPassengerBack: getPassengerBack,11 getDriverThere: getDriverThere,12 getDriverBack: getDriverBack,13 getTravelThere: getTravelThere,14 getTravelBack: getTravelBack,15 getModelThere: getModelThere,16 getModelBack: getModelBack,17 addPassenger: addPassenger,18 addDriver: addDriver,19 showManagePassengerDialog: showManagePassengerDialog,20 };21 function showManagePassengerDialog(event, ride)22 {23 if (ride.is_return)24 {25 back.passenger.showAdd(event, ride);26 }27 else28 {29 there.passenger.showAdd(event, ride);30 }31 }32 function addPassenger(passenger) {33 if (passenger.ride.is_return)34 {35 back.passenger.model = passenger;36 back.driver.model = null;37 }38 else39 {40 there.passenger.model = passenger;41 there.driver.model = null;42 }43 }44 function addDriver(ride) {45 if (ride.is_return)46 {47 back.driver.model = ride;48 back.passenger.model = null;49 }50 else51 {52 there.driver.model = ride;53 there.passenger.model = null;54 }55 }56 function getTravelThere() {57 return there;58 }59 function getTravelBack() {60 return back;61 }62 function getModel(travel) {63 var object = travel.getObject();64 if (object === null)65 {66 return null;67 }68 return object.model;69 }70 function getModelThere() {71 return getModel(there);72 }73 function getModelBack() {74 return getModel(back);75 }76 function getDriverThere() {77 return there.driver;78 }79 function getDriverBack() {80 return back.driver;81 }82 function getPassengerThere() {83 return there.passenger;84 }85 function getPassengerBack() {86 return back.passenger;87 }88 }...

Full Screen

Full Screen

test.js

Source:test.js Github

copy

Full Screen

...26 .then((target) => target.click())27 await driver28 .elementByAndroidUIAutomator('new UiSelector().resourceId("android:id/text1").text("Action Bar")')29 .then((target) => target.click())30 await driver.back()31 await driver.back()32 await driver33 .elementByAndroidUIAutomator('new UiSelector().resourceId("android:id/text1").text("Content")')34 .then((target) => target.click())35 await driver36 .elementByAndroidUIAutomator('new UiSelector().resourceId("android:id/text1").text("Assets")')37 .then((target) => target.click())38 await driver.back()39 await driver.back()40 await driver41 .elementByAndroidUIAutomator('new UiSelector().resourceId("android:id/text1").text("Views")')42 .then((target) => target.click())43 await driver44 .elementByAndroidUIAutomator('new UiSelector().resourceId("android:id/text1").text("Buttons")')45 .then((target) => target.click())46 await driver.back()47 await driver.back()48 })...

Full Screen

Full Screen

CasperAction.js

Source:CasperAction.js Github

copy

Full Screen

1/**2 * Created by sunny.yu2 on 9/16/2015.3 */4var wait = require('../CommonUtility/Wait');5var casperInit=require('./CasperInit');6var casperDriver=casperInit.getCasperDriver();7exports.Open=function Open(url,callback){8 casperDriver.start(url,callback);9}10exports.Back=function Back(){11 casperDriver.back();12}13exports.Clear=function Clear(){14 casperDriver.clear();15}16exports.SendKeys=function SendKeys(css,key){17 wait.waitByCssWithMethod(css,casperDriver.sendKeys(css,key));18}19exports.Click=function Click(css){20 wait.waitByCssWithMethod(css,casperDriver.click(css))21}22exports.back=function Back(){23 casperDriver.back();...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5chai.should();6chaiAsPromised.transferPromiseness = wd.transferPromiseness;7const {exec} = require('child_process');8const {assert} = require('chai');9const PORT = 4723;10const HOST = 'localhost';11const DEVICE = 'iPhone 8';12const BUNDLE_ID = 'com.apple.mobilesafari';13const driver = wd.promiseChainRemote(HOST, PORT);14const desiredCaps = {15};16describe('Appium XCUITest Driver', () => {17 before(async () => {18 await driver.init(desiredCaps);19 await driver.setImplicitWaitTimeout(10000);20 });21 after(async () => {22 await driver.quit();23 });24 it('should go back to previous page', async () => {25 await driver.get(URL);26 await driver.back();27 const title = await driver.title();28 await assert.equal(title, 'Google');29 });30});

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5const expect = chai.expect;6const assert = chai.assert;7const serverConfig = {8};9const driverConfig = {10};11const driver = wd.promiseChainRemote(serverConfig);12before(async () => {13 try {14 await driver.init(driverConfig);15 await driver.sleep(5000);16 } catch (err) {17 console.log(err);18 }19});20after(async () => {21 try {22 await driver.sleep(5000);23 await driver.quit();24 } catch (err) {25 console.log(err);26 }27});28it('should go back to previous screen', async () => {29 try {30 await driver.elementByAccessibilityId('Next').click();31 await driver.sleep(5000);32 await driver.back();33 await driver.sleep(5000);34 const nextButton = await driver.elementByAccessibilityId('Next');35 assert.isTrue(await nextButton.isDisplayed());36 } catch (err) {37 console.log(err);38 }39});

Full Screen

Using AI Code Generation

copy

Full Screen

1(async function test() {2 try {3 const driver = await wdio.remote({4 capabilities: {5 }6 });7 await driver.back();8 await driver.deleteSession();9 } catch (err) {10 console.log(err);11 }12})();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var desiredCaps = {4};5driver.init(desiredCaps)6 .then(function() {7 return driver.elementByName('Go to next screen');8 })9 .then(function(element) {10 return element.click();11 })12 .then(function() {13 return driver.elementByName('Go to next screen');14 })15 .then(function(element) {16 return element.click();17 })18 .then(function() {19 return driver.elementByName('Go to next screen');20 })21 .then(function(element) {22 return element.click();23 })24 .then(function() {25 return driver.elementByName('Go to next screen');26 })27 .then(function(element) {28 return element.click();29 })30 .then(function() {31 return driver.elementByName('Go to next screen');32 })33 .then(function(element) {34 return element.click();35 })36 .then(function() {37 return driver.elementByName('Go to next screen');38 })39 .then(function(element) {40 return element.click();41 })42 .then(function() {43 return driver.elementByName('Go to next screen');44 })45 .then(function(element) {46 return element.click();47 })48 .then(function() {49 return driver.elementByName('Go to next screen');50 })51 .then(function(element) {52 return element.click();53 })54 .then(function() {

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