Xamarin.UITest:如何验证占位符/提示文本 [英] Xamarin.UITest: How To Verify Placeholder/Hint Text
问题描述
我正在为跨平台的Xamarin.iOS和Xamarin.Android应用程序编写Xamarin.UITest.
I am writing a Xamarin.UITest for a cross-platform Xamarin.iOS and Xamarin.Android app.
在我的Xamarin.UITest中,如何验证以下属性:
In my Xamarin.UITest, how do I verify the following properties:
- 在Xamarin.Android上,如何验证
EditText
的Hint
属性? - 在Xamarin.iOS上,如何验证
UITextField
的Placeholder
属性?
- On Xamarin.Android, how can I verify the
Hint
property for anEditText
? - On Xamarin.iOS, how can I verify the
Placeholder
property for aUITextField
?
推荐答案
示例代码
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:
Sample App
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
在Xamarin.UITest中,要从Android EditText
或iOS UITextField
检索文本,必须使用Invoke
方法访问本机 ObjectiveC iOS API .在我们的Invoke
语句中,我们可以利用本机方法(在Android上为getHint()
,在iOS上为placeholder
)来检索字符串.
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.
所有测试均通过 Xamarin测试云进行了验证.测试报告是在此处可见.
All tests were validated via Xamarin Test Cloud. The test report is viewable here.
这篇关于Xamarin.UITest:如何验证占位符/提示文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!