Swift UITest - 将使用其中一个。哪一个未定义

时间:2018-06-12 19:19:32

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

我正在尝试制作一些UITests,而且我遇到了烦人的问题。

当我尝试获取tableView / tableCell时,我在日志中收到此文本,我的测试失败。

  

objc [18223]:类VCWeakObjectHolder在两个/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot实现/System/Library/PrivateFrameworks/AVConference.framework/Frameworks/ViceroyTrace.framework/ViceroyTrace(0x131ad04d0)和/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS .simruntime / Contents / Resources / RuntimeRoot / System / Library / PrivateFrameworks / AVConference.framework / AVConference(0x131797e38)。将使用两者之一。哪一个未定义。

这是我用来进行测试的代码:

let app = XCUIApplication()
let table = app.tables

let cell = table.cells.element(matching: .cell, identifier: "cell_settings_1")
_ = cell.waitForExistence(timeout: 10.0)
cell.tap()

XCTAssert(app.otherElements["view_about"].exists)

我的tableViewCell将此字符串作为标识符,这不是问题。

当我尝试记录测试时,我收到此错误:

Error

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

经过这么长时间,我发现了自己的错误。

问题是我在视图的父级中放置了一个可访问性标识符。然后,它内部的itens将永远无法正常工作。

那是一张图片:

enter image description here

因此,在图像情况下,测试(甚至记录器)也不会检测到“ view_about”内部的任何内容。

答案 1 :(得分:0)

如果在辅助功能层中找不到该元素,通常会出现此错误。重要的是,这与UI测试无关。

暂时忽略测试,并从XCode中的开发人员工具打开辅助功能检查器。如果您使用小目标图标,并将鼠标悬停在要与之交互的内容上,则很有可能无法找到它作为辅助功能元素。如果是这种情况,您将需要修复应用程序中元素的可访问性。有时这很容易,有时候也不容易。这取决于具体情况。

您可能会有其他原因看到此错误,但我遇到的所有时间都是由上述问题引起的。