如何通过swift传递Xcode UITests的失败案例?

时间:2015-10-10 04:42:51

标签: ios xcode swift assertions xcode-ui-testing

背景:刚刚开始进入自动化领域。不幸的是,我唯一的练习应用程序有不断变化的UI例如,我有一些用户隐藏的按钮,并根据访问权限级别显示给其他用户。

目标:我想测试的是失败是一个过程;应该是按钮确实不存在。我也有覆盖和东西来对抗,但我想我可以在一个按钮示例中推断出我已经展示了如何做到这一点。

在本节之前,登录测试已经过去了。这个人有时看不到隐藏的按钮,所以我需要它来传递它无法找到按钮的事实,而不是失败它。我怎么告诉它这样做?是否有一种特殊的断言我可以使用,或条件,或什么?

fn:length()

2 个答案:

答案 0 :(得分:0)

您可以查看.exists值。

if !tablesQuery.staticTexts["sometimesHiddenButton"].staticTexts.exists {
    //do something for users that don't need to see this
} else {
    //do something for users that do see the button
}

答案 1 :(得分:0)

.exists param肯定是你想要的那个 - 我认为问题是你在.exists而不是在.staticTexts返回的XCUIElement上调用.staticTexts["sometimesHiddenButton"] 这个:

tablesQuery.staticTexts["sometimesHiddenButton"].exists

应该返回一个布尔值,你可以打开或使用。

进行断言