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 = @""这种方法太慢了。
发布于 2017-09-26 20:23:14
我正在使用这个助手函数:
-(void)clearField:(XCUIElement *)textField {
[textField doubleTap];
[app.menuItems[@"Select All"]tap];
}并通过以下方式调用:
[self clearField: app.textFields[@"Last Name"]];发布于 2017-09-26 13:18:02
您可以使用这个小助手函数在UITextField中清除UITest中的文本:
- (void)clearTextField:(XCUIElement *)textField {
NSString *text = textField.value;
NSString *deleteString = [@"" stringByPaddingToLength:text.length withString:XCUIKeyboardKeyDelete startingAtIndex:0];
NSLog(@"%@", deleteString);
[textField tap];
[textField typeText:deleteString];
}此函数从文本字段获取当前字符串,并模拟每个字符串的delete键按下。点击删除键几次要快得多。
在您的测试中,您可以简单地调用:
[self clearTextField:textField];https://stackoverflow.com/questions/46422826
复制相似问题