假设我有一个 UITextView
,我在其中设置了这些属性:
textView.accessibilityIdentifier = "autocapitalized"
textView.autocapitalizationType = UITextAutocapitalizationType.Sentences
现在,如果 autocapitalizationType
设置正确,我想要进行 UI 测试(使用新的 XCode 7 UI 测试框架)。
为了模拟用户在 UITextView
上书写,我编写了一个如下测试:
let app = XCUIApplication()
let textView = app.textViews["autocapitalized"]
textView.tap()
textView.typeText("a") // lowercase 'cause I thought it'd be automatically uppercased but I was wrong
XCTAssert(textView.value as! String == "A") // fails
测试将失败,所以我的问题是:有没有办法在软件键盘上模拟简单的按键?
我的意思是,如果我手动运行测试,我将焦点放在 textView 上,然后点击键盘上的“A”,默认情况下它会自动大写(因为 autocapitalizationType
属性):如何自动将相同的测试加倍新的 UI 测试框架?
最佳答案
点击 A
键,而不是在文本字段中输入文本。
let app = XCUIApplication()
let textView = app.textViews["autocapitalized"]
textView.tap()
app.keys["A"].tap()
如果键盘上未显示 A
键,则最后一行将失败。如果文本字段的 autocapitalizationType
设置不正确,则将出现一个
键。
关于ios - 如何进行 UI 测试 UITextField 或 UITextView 的 autocapitalizationType 属性是否设置正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34567878/