Mys*_*tic 6 ios xctest swift xcode-ui-testing
你如何键入UITextView内部XCTestCase?这UITextView是第一个响应者,所以它已经有了焦点,键盘就出现了.
我试过了:
app.typeText("footer")
app.textViews.element(boundBy: 0).typeText("foobar")
app.links.element(boundBy: 0).typeText("foobar")
Run Code Online (Sandbox Code Playgroud)
由于某种原因app.textViews.count总是回来0?
问题.typeText(_:)不是不起作用,而是您的查询无法解析为元素.
当您尝试查找的视图位于某种可访问的容器视图中时,有时似乎查询无法正常工作.您可以通过在容器视图中显式禁用辅助功能来缓解此问题.
将包含文本视图的堆栈视图设置为不是辅助功能元素,然后在文本视图上设置辅助功能标识符.
// app code
let stack: UIStackView!
let textView: UITextView!
stack.isAccessibilityElement = false
textView.isAccessibilityElement = true
textView.accessibilityIdentifier = "myTextView"
// test code
let app = XCUIApplication()
let textView = app.textViews["myTextView"]
textView.typeText("something")
Run Code Online (Sandbox Code Playgroud)
尝试为您设置一个唯一的辅助功能标识符UITextView,然后:
let textView = app.textViews["uniqueId"]
XCTAssert(textView.exists, "uniqueId text view NOT FOUND")
textView.tap()
textView.typeText("foobar")
Run Code Online (Sandbox Code Playgroud)