1- import { AppiumDriver , createDriver , SearchOptions , Direction } from "nativescript-dev-appium" ;
1+ import { AppiumDriver , createDriver , SearchOptions , Direction } from "nativescript-dev-appium" ;
22import { isSauceLab , runType } from "nativescript-dev-appium/lib/parser" ;
33import { expect } from "chai" ;
44import { ok } from "assert" ;
5- import { getPickerTime , clickOkBtn , scrollToElement , getPickerDate } from "./helper" ;
5+ import { getPickerTime , clickOkBtn , scrollToElement , getPickerDate } from "./helper" ;
66const fs = require ( 'fs' ) ;
77const addContext = require ( 'mochawesome/addContext' ) ;
88const rimraf = require ( 'rimraf' ) ;
99const isSauceRun = isSauceLab ;
10- const isAndroid : boolean = runType . includes ( "android" ) ;
1110
1211describe ( "DateTimePicker" , ( ) => {
1312 const defaultWaitTime = 5000 ;
@@ -74,6 +73,7 @@ describe("DateTimePicker", () => {
7473 await minMaxDatePicker . click ( ) ;
7574 const date = await getPickerDate ( driver ) ;
7675 await clickOkBtn ( driver ) ;
76+ console . log ( date ) ;
7777 const dateSelected = await driver . findElementByText ( date ) ;
7878 expect ( dateSelected ) . to . exist ;
7979 } ) ;
@@ -95,7 +95,7 @@ describe("DateTimePicker", () => {
9595 } ) ;
9696
9797 it ( "Should verify modified texts field for date picker" , async ( ) => {
98- await scrollToElement ( driver , "modified picker texts " , Direction . down ) ;
98+ await scrollToElement ( driver , "preferred locale: en_US " , Direction . down ) ;
9999 const pickers = await driver . findElementsByText ( "tap to choose" ) ;
100100 const datePicker = pickers [ 0 ] ;
101101 await datePicker . click ( ) ;
@@ -133,10 +133,10 @@ describe("DateTimePicker", () => {
133133 const datePicker = await driver . findElementByText ( "datum auswählen" , SearchOptions . contains ) ;
134134 await datePicker . click ( ) ;
135135 const date = await getPickerDate ( driver ) ;
136- let selector = isAndroid ? "android.widget.Button" : "Bestätigen" ;
136+ let selector = driver . isAndroid ? "android.widget.Button" : "Bestätigen" ;
137137 let acceptBtn ;
138138 let rejectBtn ;
139- if ( isAndroid ) {
139+ if ( driver . isAndroid ) {
140140 let buttons = await driver . findElementsByClassName ( selector ) ;
141141 acceptBtn = buttons [ 7 ] ;
142142 rejectBtn = buttons [ 6 ] ;
@@ -162,13 +162,13 @@ describe("DateTimePicker", () => {
162162 it ( "Should select time from de_DE locale picker and verify format" , async ( ) => {
163163 const timePicker = await driver . findElementByText ( "zeit wählen" , SearchOptions . contains ) ;
164164 await timePicker . click ( ) ;
165- const time = await getPickerTime ( driver , 12 ) ;
165+ const time = await getPickerTime ( driver , 24 ) ;
166166 let acceptBtn ;
167167 let rejectBtn ;
168- if ( isAndroid ) {
168+ if ( driver . isAndroid ) {
169169 let buttons = await driver . findElementsByClassName ( "android.widget.Button" ) ;
170- acceptBtn = buttons [ 6 ] ;
171- rejectBtn = buttons [ 5 ] ;
170+ acceptBtn = buttons [ 5 ] ;
171+ rejectBtn = buttons [ 4 ] ;
172172 }
173173 else {
174174 acceptBtn = await driver . findElementByText ( "Bestätigen" , SearchOptions . exact ) ;
@@ -179,11 +179,8 @@ describe("DateTimePicker", () => {
179179 expect ( rejectBtn ) . to . exist ;
180180 expect ( title ) . to . exist ;
181181 await acceptBtn . click ( ) ;
182- let timeString = time . substr ( 0 , time . indexOf ( " " ) ) ;
183- timeString = timeString + " nachm." ;
184- console . log ( timeString ) ;
185- const dateField = await driver . findElementByText ( timeString ) ;
186- expect ( timeString ) . to . exist ;
182+ const dateField = await driver . findElementByText ( time ) ;
183+ expect ( time ) . to . exist ;
187184 } ) ;
188185
189186 it ( "Should scroll to custom format and verify values" , async ( ) => {
@@ -200,11 +197,11 @@ describe("DateTimePicker", () => {
200197 await scrollToElement ( driver , "css applied" , Direction . down ) ;
201198 const bindingLabel = await driver . findElementByText ( "binding" , SearchOptions . exact ) ;
202199 expect ( bindingLabel ) . to . exist ;
203- let selector = isAndroid ? "android.widget.EditText" : "XCUIElementTypeTextField"
200+ let selector = driver . isAndroid ? "android.widget.EditText" : "XCUIElementTypeTextField"
204201 let fields = await driver . findElementsByClassName ( selector ) ;
205202 let timeField ;
206203 let dateField ;
207- if ( isAndroid ) {
204+ if ( driver . isAndroid ) {
208205 timeField = fields [ 2 ] ;
209206 dateField = fields [ 1 ] ;
210207 }
@@ -226,16 +223,16 @@ describe("DateTimePicker", () => {
226223
227224 it ( "Should scroll to css styled DatePicker and verify picker style" , async ( ) => {
228225 await scrollToElement ( driver , "tap to select time" , Direction . down ) ;
229- const cssPicker = await driver . findElementByText ( "Feb 24, 2019" , SearchOptions . exact ) ;
230- await cssPicker . click ( ) ;
226+ let cssPickers = await driver . findElementsByText ( "Feb 24, 2019" , SearchOptions . exact ) ;
227+ await cssPickers [ cssPickers . length - 1 ] . click ( ) ;
231228 await getPickerDate ( driver ) ;
232229 await driver . compareScreen ( "cssDatePicker" ) ;
233230 await clickOkBtn ( driver ) ;
234231 } ) ;
235232
236233 it ( "Should scroll to css styled TimePicker and verify picker style" , async ( ) => {
237- const cssPicker = await driver . findElementByText ( "1:00 AM" , SearchOptions . exact ) ;
238- await cssPicker . click ( ) ;
234+ const cssPickers = await driver . findElementsByText ( "1:00 AM" , SearchOptions . exact ) ;
235+ await cssPickers [ cssPickers . length - 1 ] . click ( ) ;
239236 await getPickerTime ( driver , 12 ) ;
240237 await driver . compareScreen ( "cssTimePicker" ) ;
241238 await clickOkBtn ( driver ) ;
@@ -251,6 +248,7 @@ describe("DateTimePicker", () => {
251248 month : '2-digit' ,
252249 day : 'numeric'
253250 } ) ;
251+ console . log ( dateString ) ;
254252 const dateField = await driver . findElementByText ( dateString ) ;
255253 expect ( dateString ) . to . exist ;
256254 } )
0 commit comments