Оператор if, не переходящий в оператор else в Katalon Studio для Android

Я использую Katalon для тестирования Android. Я хочу, чтобы он щелкнул ImageView3, если он присутствует. В противном случае он щелкнет ImageView2 (что приведет к тому, что ImageView3 появится позже).

Я пробовал verifyElementVisible и verifyElementNotVisible. Также попытался добавить оператор if как 'if (Mobile.verifyElementVisible (findTestObject (' Objects / android.widget.ImageView3 '), 0) == true)', но это привело к той же ошибке.

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()
}

Ошибка в журнале показывает следующее:

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)

Поскольку ImageView3 не был найден, я ожидал, что он перейдет к инструкции else. Есть предложения, почему этого не происходит?


person Mohammad Arif    schedule 10.06.2019    source источник
comment
Не знаком с языком, но мне кажется, что он не имеет себе равных в конце третьей строки ')'   -  person drclaw    schedule 10.06.2019


Ответы (1)


FailureHandling не установлен. Это вызовет ошибку, поскольку это не было установлено.

Добавлен FailureHandling.OPTIONAL в оператор if

if (Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0, FailureHandling.OPTIONAL))
person Mohammad Arif    schedule 10.06.2019