2017-08-10 1 views
0

J'ai utilisé XCUITest pour effectuer certaines opérations d'automatisation d'interface utilisateur. J'ai une collection de cellules sur une page, et que vous voulez retourner ceux qui contiennent une étiquetteUtilisation de NSPredicate pour la recherche dans les cellules dans XCUITest

Définition d'un point d'arrêt et en tapant

po app.cells 

retours

Output: { 
     Cell 0x6080003603c0: traits: 8589934592, {{162.9, 184.6}, {916.5, 83.6}}, label: 'reminder same title, description, 4.38 pm' 
     Cell 0x618000179380: traits: 8589934592, {{162.9, 268.2}, {916.5, 10.9}} 
     Cell 0x608000360300: traits: 8589934592, {{162.9, 279.1}, {916.5, 83.6}}, label: 'reminder same title, description different, 11.37 am' 
     Cell 0x618000179440: traits: 8589934592, {{162.9, 362.7}, {916.5, 10.9}} 
     Cell 0x600000363a80: traits: 8589934592, {{162.9, 373.6}, {916.5, 83.6}}, label: 'reminder same title, other description, 11.03 am' 
     Cell 0x608000360180: traits: 8589934592, {{162.9, 457.2}, {916.5, 10.9}} 
     Cell 0x618000179500: traits: 8589934592, {{162.9, 468.0}, {916.5, 83.6}}, label: 'name A, second, 11.00 am' 
     Cell 0x618000179740: traits: 8589934592, {{162.9, 551.7}, {916.5, 10.9}} 
     Cell 0x610000177580: traits: 8589934592, {{162.9, 562.5}, {916.5, 83.6}}, label: 'name A, first, 11.00 am' 
     Cell 0x600000363000: traits: 8589934592, {{162.9, 646.1}, {916.5, 10.9}} 
     Cell 0x618000179d40: traits: 8589934592, {{409.4, 362.2}, {293.2, 27.1}} 
     Cell 0x600000364800: traits: 8589934592, {{409.4, 389.3}, {293.2, 27.1}} 

Je comprends qu'un La façon la plus simple serait d'avoir des identifiants d'accessibilité associés aux cellules qui ont des étiquettes, mais je ne sais pas comment structurer une requête NSPredicate afin de tester la collection Cells et retourner uniquement les cellules contenant une étiquette.

Répondre

0

Cela devrait vous donner toutes les cellules dont l'étiquette est non nul

let predicate = NSPredicate(format: "label != nil") 
let cells = XCUIApplication().cells.matching(predicate)