2017-09-26 3 views

Répondre

0

J'utilise cette fonction d'assistance:

-(void)clearField:(XCUIElement *)textField { 
    [textField doubleTap]; 
    [app.menuItems[@"Select All"]tap]; 
} 

et de l'appeler via:

[self clearField: app.textFields[@"Last Name"]]; 
+0

c'est une bonne méthode pour résoudre mon problème. Merci, j'ai eu une nouvelle manière de résoudre des problèmes semblables. Merci beaucoup –

1

Vous pouvez utiliser cette petite fonction d'aide pour effacer le texte d'un UITextField lors d'une 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]; 
} 

Cette fonction prend la chaîne actuelle du champ de texte et simule une suppression appuyez sur la touche pour chaque caractère du chaîne. Il est beaucoup plus rapide d'appuyer sur la touche de suppression plusieurs fois.

Dans votre test, vous pouvez ensuite appeler simplement:

[self clearTextField:textField]; 
+0

Ceci est une solution parfaite à mon problème, merci beaucoup. Je viens de commencer à apprendre UITest, merci. –