2016-12-28 70 views
0

我正在爲跨平臺的Xamarin.iOS和Xamarin.Android應用程序編寫Xamarin.UITest。Xamarin.UITest:如何驗證佔位符/提示文本

在我Xamarin.UITest,我如何驗證以下屬性:

  • 在Xamarin.Android,我怎麼能確認的Hint屬性的EditText
  • 在Xamarin.iOS上,如何驗證UITextFieldPlaceholder屬性?

回答

2

示例代碼

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和本機ObjectiveC iOS API。在我們的Invoke聲明中,我們可以利用本機方法(Android上的getHint()和iOS上的placeholder)來檢索字符串。

所有測試均通過Xamarin Test Cloud驗證。測試報告是viewable here