Xamarin.UITest: 如何验证 Placeholder/Hint 文本
Xamarin.UITest: How To Verify Placeholder/Hint Text
我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用编写 Xamarin.UITest。
在我的 Xamarin.UITest 中,我如何验证以下属性:
- 在 Xamarin.Android 上,我如何验证
Hint
属性 是否为 EditText
?
- 在 Xamarin.iOS 上,我如何验证
Placeholder
属性 对于 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();
}
示例应用程序
这是 a sample app 中的相同代码片段,演示了如何在跨平台中完成此任务 Xamarin.UITest:
https://github.com/brminnick/FaceOff/blob/master/UITests/Pages/WelcomePage.cs#L73
说明
在 Xamarin.UITest 中,要从 Android EditText
或 iOS UITextField
中检索文本,您必须使用 Invoke
方法访问本机 Java Android API and native ObjectiveC iOS API。在我们的 Invoke
语句中,我们可以利用本地方法(Android 上的 getHint()
和 iOS 上的 placeholder
)来检索字符串。
所有测试都通过 Xamarin Test Cloud. The test report is viewable here 验证。
我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用编写 Xamarin.UITest。
在我的 Xamarin.UITest 中,我如何验证以下属性:
- 在 Xamarin.Android 上,我如何验证
Hint
属性 是否为EditText
? - 在 Xamarin.iOS 上,我如何验证
Placeholder
属性 对于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();
}
示例应用程序
这是 a sample app 中的相同代码片段,演示了如何在跨平台中完成此任务 Xamarin.UITest:
https://github.com/brminnick/FaceOff/blob/master/UITests/Pages/WelcomePage.cs#L73
说明
在 Xamarin.UITest 中,要从 Android EditText
或 iOS UITextField
中检索文本,您必须使用 Invoke
方法访问本机 Java Android API and native ObjectiveC iOS API。在我们的 Invoke
语句中,我们可以利用本地方法(Android 上的 getHint()
和 iOS 上的 placeholder
)来检索字符串。
所有测试都通过 Xamarin Test Cloud. The test report is viewable here 验证。