UIATextField could not be tapped in Appium 1.4.8

I am getting ‘UIATextField could not be tapped’ when using SendKeys() on a TextFiled on iOS Simulator/Device.

info: --> POST /wd/hub/session/fcf59dc9-eab5-4681-9e34-e090777b5e84/element {“using”:“name”,“value”:“LoginEmailTextField”}
info: [debug] Waiting up to 60000ms for condition
info: [debug] Pushing command to appium work queue: “au.getElementByName(‘LoginEmailTextField’)”
info: [debug] Sending command to instruments: au.getElementByName(‘LoginEmailTextField’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: Got new command 10 from instruments: au.getElementByName(‘LoginEmailTextField’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: evaluating au.getElementByName(‘LoginEmailTextField’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: evaluation finished
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: Lookup returned [object UIATextField] with the name “LoginEmailTextField” (id: 4).

info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: responding with:
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: Running system command #11: /Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:0,“value”:{“ELEMENT”:“4”}}…
info: [debug] Socket data received (38 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:{“ELEMENT”:“4”}}
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“4”},“sessionId”:“fcf59dc9-eab5-4681-9e34-e090777b5e84”}
info: <-- POST /wd/hub/session/fcf59dc9-eab5-4681-9e34-e090777b5e84/element 200 115.638 ms - 87 {“status”:0,“value”:{“ELEMENT”:“4”},“sessionId”:“fcf59dc9-eab5-4681-9e34-e090777b5e84”}
info: --> POST /wd/hub/session/fcf59dc9-eab5-4681-9e34-e090777b5e84/element/4/value {“id”:“4”,“value”:[“[email protected]”]}
info: [debug] Pushing command to appium work queue: “au.getElement(‘4’).setValueByType(‘[email protected]’)”
info: [debug] Sending command to instruments: au.getElement(‘4’).setValueByType(‘[email protected]’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: Got new command 11 from instruments: au.getElement(‘4’).setValueByType(‘[email protected]’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: evaluating au.getElement(‘4’).setValueByType(‘[email protected]’)
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: No keyboard found. Tapping to make visible.
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: UIATextField.tap()
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: UIATextField could not be tapped

info: [debug] Socket data received (58 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:17,“value”:“UIATextField could not be tapped”}
info: [debug] Responding to client with error: {“status”:17,“value”:{“message”:“An error occurred while executing user supplied JavaScript.”,“origValue”:“UIATextField could not be tapped”},“sessionId”:“fcf59dc9-eab5-4681-9e34-e090777b5e84”}
info: <-- POST /wd/hub/session/fcf59dc9-eab5-4681-9e34-e090777b5e84/element/4/value 500 333.264 ms - 193
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Error: VerboseError: UIATextField could not be tapped

info: [debug] [INST] 2015-08-25 18:56:49 +0000 Error: Error during eval: tap@[native code]
file:///Applications/Appium.app/Contents/Resources/node_modules/appium/92A5A992-6713-4B82-B3A0-B8FC3539710D/bootstrap-4e580d338a12229a.js:1952:17
[native code]
setValueByType@file:///Applications/Appium.app/Contents/Resources/node_modules/appium/92A5A992-6713-4B82-B3A0-B8FC3539710D/bootstrap-4e580d338a12229a.js:1965:23
eval code
eval@[native code]
startProcessing@file:///Applications/Appium.app/Contents/Resources/node_modules/appium/92A5A992-6713-4B82-B3A0-B8FC3539710D/bootstrap-4e580d338a12229a.js:2702:30
bootstrap@file:///Applications/Appium.app/Contents/Resources/node_modules/appium/92A5A992-6713-4B82-B3A0-B8FC3539710D/bootstrap-4e580d338a12229a.js:2770:31
global code@file:///Applications/Appium.app/Contents/Resources/node_modules/appium/92A5A992-6713-4B82-B3A0-B8FC3539710D/bootstrap-4e580d338a12229a.js:2779:10
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: responding with:
info: [debug] [INST] 2015-08-25 18:56:49 +0000 Debug: Running system command #12: /Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:17,“value”:“UIATextField could not be tapped”}…

Is that a textfield or a secureTextfield,i have come across this issues for secureTextField.

both… I have Textfile for UID and Secure for PWD. This is happening only on iOS… same test case on Android is working fine.

Please drop in some more details,.

Appium Version
Appium logs
Mac version
real or ios

Thanks,
Sathya

Appium Server 1.4.8
Appium client 3.1.0
Mac running 10.10.4 (Yosemite)
XCode 6.3.1

Appium log , pasted in original message.

After “No keyboard found” I am getting this error.
I turned on the Hardward keyboard in the iOS simulator.
Also tried click() in that field and got the same error.

info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: evaluation finished
info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: Lookup returned [object UIATextField] with the name “LoginEmailTextField” (id: 4).
info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: responding with:
info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: Running system command #11: /Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:0,“value”:{“ELEMENT”:“4”}}…

info: [debug] Socket data received (38 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:{“ELEMENT”:“4”}}
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“4”},“sessionId”:“3da91495-6273-443c-89bd-1bbb987e2242”}
info: <-- POST /wd/hub/session/3da91495-6273-443c-89bd-1bbb987e2242/element 200 116.169 ms - 87 {“status”:0,“value”:{“ELEMENT”:“4”},“sessionId”:“3da91495-6273-443c-89bd-1bbb987e2242”}
info: --> POST /wd/hub/session/3da91495-6273-443c-89bd-1bbb987e2242/element/4/click {“id”:“4”}
info: [debug] Pushing command to appium work queue: “au.tapById(‘4’)”
info: [debug] Sending command to instruments: au.tapById(‘4’)

info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: Got new command 11 from instruments: au.tapById(‘4’)
info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: evaluating au.tapById(‘4’)
info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: UIATextField.tap()

info: [debug] [INST] 2015-08-25 22:37:39 +0000 Debug: UIATextField could not be tapped

info: [debug] Socket data received (57 bytes)

Thanks for trying… I found the problem… There were two TextBoxes with same Label one was hidden and that was the first being found. I used XPath to access the one that is shown and it worked.

We are using Tabs, the default tab was hidden.