It seems that Calabash doesn't really play nicely with Xamarin.Forms in practice. First off there is the issue of sharing feature files (see my question here: http://stackoverflow.com/questions/24964709/single-set-of-feature-files-for-both-android-and-ios)
I think I understand this because the calabash feature files have to be written against the rendered controls (UITextField) not the Xamarin.Forms control (Entry). That makes sense from a programming perspective but is an epic fail from a testing perspective.
That aside, I am trying to do a simple test.
I have a Xamain.Forms pages that has two Entry elements. One for Username and one for Password. I have set the x:Name for both elements so I can find them via Calabash and enter text into them.
When running the iOS version of the app and the calabash console to query the application I find that the entry control under iOS, is rendered as a UITextField and a UITextFieldLabel (for the watermark). I would have expected the UITextField to get an id value that matches my x:Name setting? However, what I get is a nil value for id.
Since the UITextField control that is rendered doesn't have an id set there isn't a reliable way for me to isolate specific text boxes and type text into them. What am I missing here?
Is calabash just not really ready to handle Xamarin.Forms projects? Or am I missing something?