我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用程序编写 Xamarin.UITest。
在我的 Xamarin.UITest 中,如何验证以下属性:
- 在 Xamarin.Android 上,如何验证
EditText
的Hint
属性? - 在 Xamarin.iOS 上,如何验证
UITextField
的Placeholder
属性?
最佳答案
示例代码
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();
}
示例应用
这里是 a sample app 中相同的代码片段演示了如何在跨平台 Xamarin.UITest 中完成此任务:
https://github.com/brminnick/FaceOff/blob/master/UITests/Pages/WelcomePage.cs#L73
说明
在 Xamarin.UITest 中,要从 Android EditText
或 iOS UITextField
检索文本,必须使用 Invoke
方法来访问 native Java Android API和本地ObjectiveC iOS API 。在 Invoke
语句中,我们可以利用 native 方法(Android 上的 getHint()
和 iOS 上的 placeholder
)来检索字符串.
所有测试均通过 Xamarin Test Cloud 进行验证。检测报告为viewable here .
关于c# - Xamarin.UITest:如何验证占位符/提示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41354663/