Mohammad Arif
Mohammad Arif

Reputation: 21

If statement not going to else statement in Katalon Studio for Android

I am using Katalon for Android Testing. I want it to click ImageView3 if it is present. If not, it will click ImageView2 (which makes ImageView3 appear later).

I have tried verifyElementVisible and verifyElementNotVisible. Also tried adding the if statement as 'if (Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0) == true)' but this produced the same error.

Mobile.tap(findTestObject('Objects/android.widget.ImageView1'), 0)

if (Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0))
{
   Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0)

Mobile.tap(findTestObject('Objects/android.widget.ImageView3'), 0)

Mobile.closeApplication()
} else 
{
Mobile.tap(findTestObject('Objects/android.widget.ImageView2'), 30)
Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0)

Mobile.tap(findTestObject('Objects/android.widget.ImageView3'), 0)

Mobile.closeApplication()
}

The error in the log is showing the following:

Reason: com.kms.katalon.core.exception.StepFailedException: Element 'Object Repository/Objects/android.widget.ImageView3' not found at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:48)

As ImageView3 was not found, I would expect it to jump to the else statement. Any suggestion why this is not happening?

Upvotes: 1

Views: 835

Answers (1)

Mohammad Arif
Mohammad Arif

Reputation: 21

The FailureHandling was not set. It would throw an error as this was not set.

Added FailureHandling.OPTIONAL to the if statement

if (Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0, FailureHandling.OPTIONAL))

Upvotes: 1

Related Questions