从 Xamarin UI 测试 REPL 中的文本字段读取值

Read value from Text Field in Xamarin UI test REPL

我正在 Visual Studio 2013 年使用 Xamarin 实现我们的 cross-platform 应用程序的自动化。我目前正在努力从页面上的文本字段中读取值。有没有一种方法可以用来做到这一点?

来自 REPL 的元素属性示例:

Id => "app_url",
Label => "ApplicationUrlEntryField",
Text => "https://myurladdress.com",
Class => "android.widget.AutoCompleteTextView",
Enabled => true

现在,我需要文本值 => https://myurladdress.com

谢谢。

[编辑]

实际解决:

app.Query(x => x.Marked("ApplicationUrlEntryField").Invoke("getText")); - 通过 id

获取文本的值

您可以使用 app.Query 中的 Text 属性 来检索值。

如果由于某种原因 app.Query 失败,我还想包括 null-check 和 return string.Empty

string GetApplicationUrlEntryFieldText()
{
    System.Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery> applicationUrlEntryField = x => x.Marked("ApplicationUrlEntryField");

    app.WaitForElement(applicationUrlEntryField);

    var applicationUrlEntryFieldQuery = app.Query(applicationUrlEntryField);

    return applicationUrlEntryFieldQuery?.FirstOrDefault()?.Text ?? string.Empty;
}