2

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

来自的元素属性示例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 获取文本的值

4

1 回答 1

7

您可以使用Text属性 fromapp.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;
}
于 2017-01-20T19:14:39.073 回答