XCUIElement *textField = app.textFields[@"xxxxx"];
[textField tap];
[textField typeText:@"12345678910"];
XCUIElement *key = app.keys[@"xx"]; (the "xx" is delete key)
for (int a=0; a<11; a++) {
[key tap];
}
我想要实现的是
textfield.text = @""
这个方法太慢了。
答案 0 :(得分:1)
你可以使用这个小助手函数在UITest期间清除UITextField中的文本:
- (void)clearTextField:(XCUIElement *)textField {
NSString *text = textField.value;
NSString *deleteString = [@"" stringByPaddingToLength:text.length withString:XCUIKeyboardKeyDelete startingAtIndex:0];
NSLog(@"%@", deleteString);
[textField tap];
[textField typeText:deleteString];
}
此函数从文本字段中获取当前字符串,并为字符串的每个字符模拟删除键。点击删除键几次要快得多。
在测试中,您只需致电:
[self clearTextField:textField];
答案 1 :(得分:0)
我正在使用这个辅助函数:
-(void)clearField:(XCUIElement *)textField {
[textField doubleTap];
[app.menuItems[@"Select All"]tap];
}
并通过以下方式调用:
[self clearField: app.textFields[@"Last Name"]];