我一直试着在XCode 7.3上进行新的UI测试,我发现它对我来说似乎是一个错误.
问题是通过“addSubview”方法添加的视图似乎对UI测试系统完全不可见.
我有这个观点:
这个UIview创建代码:
let container = UIView(frame: CGRectMake(0, 0, 375, 200))
container.backgroundColor = UIColor.orangeColor()
container.isAccessibilityElement = false
let label = UILabel(frame: CGRectMake(0, 100, 375, 20))
label.backgroundColor = UIColor.yellowColor()
label.textAlignment = NSTextAlignment.Center
label.accessibilityIdentifier = "labelIdentifier"
label.text = "I am a label"
container.addSubview(label)
而这个简单的UI测试:
func testExample() {
let final = XCUIApplication().staticTexts.containingType(.StaticText, identifier: "labelIdentifier").element
XCTAssertEqual(final.label, "I am a label")
}
问题是,根据我附加橙色视图的方式,测试找不到标签.如果我这样做:
self.tableView.tableHeaderView = container
测试通过没有任何问题,但附加它:
self.tableView.addSubview(container)
提示下一个错误:
在论坛中挖了一点之后我已经测试了所有推荐的设置,例如设置为false容器“isAccessibilityElement”属性等,但似乎没有任何效果.
长话短说. ¿任何人都试图通过添加“addSubview”方法将元素附加到其他UIView?
最佳答案 你好,我用tableView和你的容器来做一个示例项目
并将容器添加到tableView
试试这个例子:)
app.tables.staticTexts[“labelIdentifier”]