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

Posted

技术标签:

【中文标题】XCode UITesting 检查文本字段是不是存在【英文标题】:XCode UITesting check if a text field existsXCode UITesting 检查文本字段是否存在 【发布时间】:2017-03-16 11:35:09 【问题描述】:

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

当前代码

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

原因/细节

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

【问题讨论】:

【参考方案1】:

不确定 Obj-C,但这是它在 Swift 中的工作方式。

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

【讨论】:

【参考方案2】:

这是 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

【讨论】:

以上是关于XCode UITesting 检查文本字段是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 7 UI 测试检查表格视图中的单元格是不是可见?

Xcode Bots 从单个 Xcode 服务器在多个 iOS 项目上运行 UITesting

XCode UITesting Issue TrackList

Xcode 7 UITesting 用于 OS X 上的菜单栏应用程序

Xcode 7.3 中 UITesting 中的 launchArguments 不起作用

XCode7 UITesting - 如何添加从 UITestCase 可用的主要目标类(未定义符号错误)?