I am writing a Xamarin.UITest for a cross-platform Xamarin.iOS and Xamarin.Android app.
In my Xamarin.UITest, how do I verify the following properties:
Hint
property for an EditText
? Placeholder
property for a UITextField
? string GetPlaceholderText(string entryAutomationId)
{
if (app is AndroidApp)
{
return app.Query(x => x.Marked(entryAutomationId)?.Invoke("getHint"))?.FirstOrDefault()?.ToString();
}
return app.Query(x => x.Marked(entryAutomationId)?.Invoke("placeholder"))?.FirstOrDefault()?.ToString();
}
Here is the same code-snippet in a sample app that demostrates how to accomplish this task in a cross-platform Xamarin.UITest:
https://github.com/brminnick/FaceOff/blob/master/UITests/Pages/WelcomePage.cs#L73
In Xamarin.UITest, to retrieve text from an Android EditText
or a iOS UITextField
, you must use the Invoke
method to access the native Java Android API and native ObjectiveC iOS API . In our Invoke
statements, we can take advantage of the native methods ( getHint()
on Android, and placeholder
on iOS) to retrieve the string.
All tests were validated via Xamarin Test Cloud . The test report is viewable here .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.