XCode UITesting检查文本字段是否存在

时间:2017-03-16 11:35:09

标签: objective-c testing ui-testing

我找不到任何方法来检查文本字段是否存在而不尝试获取它然后测试失败并且如果找不到则显示错误。 No matches found for TextField

当前代码

XCUIElement *usernameTextField = app.textFields[@"username"];

原因/细节

我在XCode中有一个Objective C UITest,它在setUp中登录到我的应用程序并在tearDown中注销但是有时我的应用程序已经在测试开始时登录(如果模拟器有在此期间被用于其他任何事情)。我希望能够查看我的setUp中是否存在用户名文本字段,如果不存在,我可以跳过登录或调用我的logout函数并继续正常运行。< / p>

2 个答案:

答案 0 :(得分:1)

不确定Obj-C,但这里是如何在Swift中工作的。

let usernameTextField = app.textFields["username"]
if usernameTextField.exists {
    do something
} else {
    do something else
}

答案 1 :(得分:0)

以下是Swift中的代码,可以很容易地转换为Obj-C:

// given:
// usernameTextField exists
// The username that is possibly entered there is "username".

// then:
if usernameTextField.value as! String == "username" {
  // logged in
} else {
  // not logged in
}