首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何清理XCUIElement,哪种类型是textField?

我如何清理XCUIElement,哪种类型是textField?
EN

Stack Overflow用户
提问于 2017-09-26 09:35:30
回答 2查看 1.4K关注 0票数 0
代码语言:javascript
复制
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];
    }

我想要实现的是

代码语言:javascript
复制
textfield.text = @""

这种方法太慢了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-26 20:23:14

我正在使用这个助手函数:

代码语言:javascript
复制
-(void)clearField:(XCUIElement *)textField {
    [textField doubleTap];
    [app.menuItems[@"Select All"]tap];
}

并通过以下方式调用:

代码语言:javascript
复制
[self clearField: app.textFields[@"Last Name"]];
票数 0
EN

Stack Overflow用户

发布于 2017-09-26 13:18:02

您可以使用这个小助手函数在UITextField中清除UITest中的文本:

代码语言:javascript
复制
- (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键按下。点击删除键几次要快得多。

在您的测试中,您可以简单地调用:

代码语言:javascript
复制
[self clearTextField:textField];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46422826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档