我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用程序编写 Xamarin.UITest。
在我的 Xamarin.UITest 中,如何验证以下属性:
- 在 Xamarin.Android 上,如何验证
Hint
属性EditText
? - 在 Xamarin.iOS 上,如何验证
Placeholder
a 的属性UITextField
?
我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用程序编写 Xamarin.UITest。
在我的 Xamarin.UITest 中,如何验证以下属性:
Hint
属性EditText
?Placeholder
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();
}
以下是示例应用程序中的相同代码片段,它演示了如何在跨平台 Xamarin.UITest 中完成此任务:
https://github.com/brminnick/FaceOff/blob/master/UITests/Pages/WelcomePage.cs#L73
在 Xamarin.UITest 中,要从 AndroidEditText
或 iOS检索文本UITextField
,您必须使用该Invoke
方法访问本机Java Android API和本机ObjectiveC iOS API。在我们的Invoke
语句中,我们可以利用本地方法(getHint()
在 Android 和placeholder
iOS 上)来检索字符串。
所有测试均通过Xamarin Test Cloud进行验证。测试报告可在此处查看。