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

mis*_*egm 2 xamarin.ios xamarin.android xamarin xamarin-test-cloud xamarin.uitest

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

来自的元素属性示例REPL:

Id => "app_url",
Label => "ApplicationUrlEntryField",
Text => "https://myurladdress.com",
Class => "android.widget.AutoCompleteTextView",
Enabled => true
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

[编辑]

实际解决它:

app.Query(x => x.Marked("ApplicationUrlEntryField").Invoke("getText")); - 通过其id获取文本的值

Bra*_*ick 6

您可以使用TextProperty from app.Query来检索值.

string.Empty如果由于某种原因app.Query失败,我还想包括一个空检查和返回.

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;
}
Run Code Online (Sandbox Code Playgroud)