c# - Xamarin.UITest:如何验证占位符/提示文本

标签 c# xamarin xamarin.ios xamarin.android xamarin.uitest

我正在为跨平台 Xamarin.iOS 和 Xamarin.Android 应用程序编写 Xamarin.UITest。

在我的 Xamarin.UITest 中,如何验证以下属性:

  • 在 Xamarin.Android 上,如何验证 EditTextHint 属性?
  • 在 Xamarin.iOS 上,如何验证 UITextFieldPlaceholder 属性?

最佳答案

示例代码

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/

相关文章:

c# - Id 在 Action 方法中变为 Null

c# - 如何从 lambda 返回 LinkedList 集合?

c# - 如何实现异步命令

ios - 修复 iOS 中的多个按钮单击事件?

iphone - NSUrlConnection 委托(delegate) - 获取 http 状态代码

c# - Azure功能未将消息发布到服务总线

c# - 多线程应用程序中的 RichTextBox 控件

android - 在 Android 设备上保存用户特定数据/访问 token 的安全方法

Xamarin 安卓 : Hundreds of warnings saying to check if Nuget packages are compatible

c# - 在 Xamarin.Forms 上获取真实的 iPhone 设备 IMEI