2010-10-06 17 views
0

Dans le code de script UI Automation suivant, je suis en mesure d'obtenir les valeurs d'un UIPickerView, mais je ne suis pas en mesure de sélectionner le sélecteur:Comment gérez-vous un UIPickerView dans le test d'application iPhone UI Automation?

var picker = window.pickers(); 

UIALogger.logMessage("picker array count: " + picker.length); 

var pickerWheels = picker[0].wheels(); 

UIALogger.logMessage("picker Wheel count: " + pickerWheels.length); 

var pickerWheelsValues =pickerWheels[0].values(); 

UIALogger.logMessage("picker Values count: " + pickerWheelsValues); 

pickerWheels[0].values()[0].tap(); 

Qu'est-ce que je pourrais faire mal?

Répondre

2

La réponse est dans le apple dev forums un message 242678.

essentiellement vous devez:

pickerWheel.tapWithOptions({x:hitPointX, y:hitPointY}, {touchCount:1, tapCount:1}); 

L'astuce est que le point de vie doit être la suivante ou précédente ligne.

0

Vous devriez utiliser la méthode .selectValue(). J'ai trouvé que dans certaines situations, selectValue lance "Une exception s'est produite lors de la tentative d'exécution du script." Cela se produit lorsque la cible n'est pas correctement configurée - journalisez l'arborescence des éléments et vérifiez si le nom UAITarget n'est pas vide (dans le cas d'un simulateur, il devrait s'agir du "Simulateur iPhone"). Voir Modifier la cible active sous la sélection de la cible et assurez-vous que sous Options correctes, la version du simulateur (pour laquelle vous avez compilé) est définie.

0

Pour XCUIAutomation (iOS 10+)

app.pickers 
    .children(matching: .pickerWheel) 
    .element 
    .adjust(toPickerWheelValue: "My Value")