问题描述
我正在为具有复杂视图层次结构的应用程序构建UI自动化测试。
在我的情况下,我想使用自动化来点击UITextField子类。该文本字段包含在collectionView中,而它本身又包含在另一个collection视图中。
该textview具有已知的可访问性标签+标识符,但我找不到通过普通XCTest api访问此视图的任何方法。例如,以下内容找不到该元素:
let app = XCUIApplication()
let textField = app.textFields["FOO"]
let textField2 = app.secureTextFields["FOO"]
let textField3 = app.otherElements["FOO"]
作为获取文本字段引用的另一种方法,我尝试将其设置为UIAccessabilityContainer
,但不确定是否正确使用了它。
//inside the textfield
//should return false if using UIAccessibilityContainer?
self.isAccessibilityElement = false
let e = UIAccessibilityElement(accessibilityContainer: self)
e.accessibilityIdentifier = placeholder
e.accessibilityLabel = placeholder
e.accessibilityTraits = .allowsDirectInteraction
//append this element to the window's list of elements
var eles = window?.accessibilityElements ?? []
eles.append(e)
window?.accessibilityElements = eles
执行此操作似乎使用“常规” api破坏了我现有的所有自动化代码。正确的解决方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)