2016-05-17 3 views
0

J'essaie d'accéder au champ de texte de la page de connexion de mon application dans le cas de test d'appium. Actuellement, j'utilise "Id de restauration" pour identifier le champ de texte et l'utiliser comme identifiant unique.Obtention du champ de texte Appium pour iOS

Actuellement appium ne peut pas trouver le champ texte par « Restauration Id » et donnant erreur

info: [debug] Socket data received (25 bytes) 
info: [debug] Socket data being routed. 
info: [debug] Got result from instruments: {"status":0,"value":""} 
info: [debug] Id selector, 'com.myapps.myappDummyName:id\/loginButton', not found in Localizable.strings. 
info: [debug] Pushing command to appium work queue: "au.getElementById('com.myapps.myappDummyName:id\\/loginButton')" 
info: [debug] Sending command to instruments: au.getElementById('com.myapps.myappDummyName:id\/loginButton') 
info: [debug] [INST] 2016-05-17 12:54:11 +0000 Debug: Got new command 68 from instruments: au.getElementById('com.myapps.myappDummyName:id\/loginButton') 
info: [debug] [INST] 2016-05-17 12:54:11 +0000 Debug: evaluating au.getElementById('com.myapps.myappDummyName:id\/loginButton') 
info: [debug] [INST] 2016-05-17 12:54:11 +0000 Debug: evaluation finished 
info: [debug] [INST] 2016-05-17 12:54:11 +0000 Debug: responding with: 
info: [debug] [INST] 2016-05-17 12:54:11 +0000 Debug: Running system command #69: /usr/local/Cellar/node/5.6.0/bin/node /Users/Harry/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{"status":0,"value":""}... 
info: [debug] Socket data received (25 bytes) 
info: [debug] Socket data being routed. 
info: [debug] Got result from instruments: {"status":0,"value":""} 
info: [debug] Condition unmet after 6942ms. Timing out. 
info: [debug] Responding to client with error: {"status":7,"value":{"message":"An element could not be located on the page using the given search parameters.","origValue":""},"sessionId":"345b24b8-82da-31da-85c1-45ae33325c15"} 

Quelqu'un peut dire comment puis-je obtenir le champ de texte en utilisant la méthode findElementById() et le passage unique, id à cela. Comment puis-je obtenir cet ID de UITextField dans le storyboard et où spécifier cet ID dans le story-board.

+0

quel code avez-vous utilisé pour accéder à la même chose? S'il vous plaît ajouter à la question ainsi – nullpointer

Répondre

0
WebElement textField = driver.findElement(By.id("<resource-id of element>")); 

Cette ligne de code doit vous laisser un élément de votre champ de texte si vous spécifiez l'identifiant correctement.

ce que je peux lire des journaux:

info: [debug] sélecteur Id, 'com.myapps.myappDummyName: id/loginButton', introuvable dans Localizable.strings.

Vous utilisez probablement une chaîne id incorrecte pour accéder à l'élément.

aussi, je l'espère, vous n'êtes pas face à ceci: IOS Storyboards: Restoration ID just like Storyboard ID?

+0

Quel est l'ID de ressource de n'importe quelle vue, comment puis-je l'obtenir à partir de story-board? –

+0

@AbuzarAmin: essayez de l'obtenir en utilisant 'UIAutomator' ou' Appium Inspector' – nullpointer

+0

@AbuzarAmin: si c'est bon, vous devez ajouter 'textField.getText(); 'alors imprimez-le;) – Emna