If else is not working after upgrading to Xcode 11,iOS 13 and Appium 1.15


#1

Hi,

I am facing issue with if else condition in iOS13 after upgrading Appium to v1.5

I am using

  1. Katalon Studio - version 6.3.3
  2. npm version 6.11.3
  3. Appium version 1.15.0
  4. iOS version 13.1.2
  5. XCODE v11
  6. Mobile device - real mobile device(iPhone).

Same script was working correctly before but after upgrading iOS OS, Xcode, if els not working.

Please do help
Thanks,


#2

what means ‘is not working’? any errors received?


#3

If else condition is not getting pass neither fail, its keep trying at same screen event its not going for timeout( I defined 45 seconds).

Execution is continuing at if else

switch (motionText) {
case ‘Motion Detection’:
if (Mobile.verifyElementNotExist(findTestObject(‘MotionDetection/NoSchedule’), 0, FailureHandling.OPTIONAL)) {
Mobile.tap(findTestObject(‘MotionDetectionSchedule/NextScheduleSundayfrom’), 0, FailureHandling.CONTINUE_ON_FAILURE)
}

Same script is working fine with iOS 12 and Appium 1.14 but not working with iOS13 Appium 1.15


#4

so, in fact, your issue is with Mobile.verifyElementNotExist, not with if /else. just saying …


#5

it should go for else condition right if element not exist?


#6

you are stucked in a continuous loop, for some reason that method is just keep executing without to return a certain boolean value.
this is what you have to investigate.
if/else will only take a decision based on a true/false value.


#7

Thanks for update I am working on it, Could you please confirm me if Katalon is supported iOS 13 and Xcode 11


#8

no idea, i don’t own such device, let’s summon some devs.
@devalex88 @ThanhTo ?


#9

Could you please let me know why Katalon is not reporting failure if object not found, Evan after waiting for two minutes (Exection wait time set to 45 seconds)

Mobile.delay(7, FailureHandling.CONTINUE_ON_FAILURE)

Mobile.verifyElementText(findTestObject(‘Screen2/AppNameBTSmartControls’), ‘Hungama’, FailureHandling.CONTINUE_ON_FAILURE)

Mobile.tap(findTestObject(‘Screen2/TapStartCameraStreaming’), 0, FailureHandling.CONTINUE_ON_FAILURE)

Mobile.delay(10, FailureHandling.CONTINUE_ON_FAILURE)

Mobile.tap(findTestObject(‘Screen3CameraFeatures/TakePhotoButton’), 0, FailureHandling.CONTINUE_ON_FAILURE)

at last step object is not visible in the mobile screen but its not reporting as failure previously working fine but in iOS13 not working
@duyluong
@Chris_Trevarthen


#10

Hi @satish1607

This is because you used the CONTINUE_ON_FAILURE parameter in every keyword, which lets Katalon Studio keep executing even though there is a failure in some keyword.

If you want Katalon Studio to stop executing the test when a keyword fails, please use STOP_ON_FAILURE parameter.

If the above suggestion does not work, please provide your execution log for further investigation. Thank you~

Jass


#11

Thanks for your reply, In my case Katalon is not reporting failure cases. I mean when object is not present then Katalon should report object not found and make test case as failed but its not reporting. Instead its keep waiting for object even its waited more than 30 minutes.


#12

Hi @satish

This may happen since Katalon Studio sets newCommandTimeout capability up to1800s by default, which means Katalon Studio will wait 30 minutes for a new command from the client before assuming the client quit and ending the session.

Katalon Studio version 7.0.0 will set a shorter period for users to override.

Could you please provide the execution log for investigation?

Thanks

Jass


#13

Thanks @Jass, Could you please let me know how to change the newCommandTimeout capability?

KS 7.0 is beta version right? When we are going to get released version.

Please find the attached execution log Logs.zip (138.6 KB)


#14

for if execution it looks 42 minutes


#15

Hi,

Any update eon this issue, Still I have not got any resolutions.

@Jass
@Chris_Trevarthen
@duyluong
Thanks in advance.


#16

Hi @satish1607,

We verified the verifyElementExist keyword on our sample iOS, with XCode 11.1, iPad iOS 13.1.2, macOS 10.15. This keyword still works as expected with 30 seconds timeout.
It’s maybe an Appium problem when running on your app. You should keep updating your device to 13.1.3 and Appium 1.16.rc.

Thanks


#17

Thanks for the update. I will update macOS, iOS and Appium then update you.

Could you please let me know how to download Appium 1.16.rc. in console its showing wrong version

Did you tested verifyElementExist failure case?

My details are below
iOS 10.15
Appium 1.15.1
Katalon Studio 6.3.3
iPhone OS version 13.1.3
with updated configuration its not working for me. Could you please help me to resolve this issue.
@duyluong

thanks
Satish


#18

Hi @satish1607,

We tested the verifyElementExist on v6.3.3 and it is fine. The elapsed time is around 30 seconds.


#19

Thanks for the update, for me verifyElementExist is only working for true condition, if its false like object is not there that time Katalon is not reporting test case as failed for longer time more that 40 minutes. How do I speedup my test? if any idea please help me

thanks