if-statement - Katalon Studio for Android 中的 if 语句不会变为 else 语句
问题描述
我正在使用 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 语句。有什么建议为什么没有发生?
解决方案
未设置故障处理。由于未设置,它将引发错误。
在 if 语句中添加了 FailureHandling.OPTIONAL
if (Mobile.verifyElementVisible(findTestObject('Objects/android.widget.ImageView3'), 0, FailureHandling.OPTIONAL))
推荐阅读
- ios - setBackgroundImage 不适用于 iOS 12 中的 UISegmentControl
- javascript - Lodash _.cloneDeep() 在迭代期间改变从哈希表查找派生的对象属性(扑克 - 扑克牌)
- windows - 批处理 - 等待进程列表结束
- openstack - 如何在 C# 中为 Openstack 实现 ABAC 访问控制?
- php - Laravel 本地子域 url 调用
- 3dsmax - 导出前的场景清理
- javascript - 在 Freemarker 模板中用 Javascript 运行 Java 方法
- javascript - 在打字稿中创建一个在运行时扩展另一个类的类
- python - 有没有办法将 tf.train.Checkpoint 与 MonitoredTrainingSession 一起使用?
- php - 使用 AJAX 以多步形式解析值的问题