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

时间:2017-01-16 15:23:33

标签: xamarin xamarin.ios xamarin.android xamarin-test-cloud xamarin.uitest

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

REPL的元素属性示例:

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

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

感谢。

[编辑]

实际解决它:

app.Query(x => x.Marked("ApplicationUrlEntryField").Invoke("getText")); - 按ID

获取文字的值

1 个答案:

答案 0 :(得分:6)

您可以使用Text中的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;
}