【问题标题】:Read value from Text Field in Xamarin UI test REPL从 Xamarin UI 测试 REPL 中的文本字段读取值
【发布时间】:2018-04-05 00:11:16
【问题描述】:

我正在使用 Xamarin 在 Visual Studio 2013 中自动化我们的 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 获取文本的值

【问题讨论】:

  • 启动 REPL 后,您可以运行 tree command。这将显示屏幕上可见的视图列表以及此处的text 属性。

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


【解决方案1】:

您可以使用来自app.QueryText 属性来检索值。

如果由于某种原因 app.Query 失败,我还想包含一个空检查并返回 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;
}

【讨论】:

  • 谢谢,这对我帮助很大。
猜你喜欢
  • 1970-01-01
  • 2015-12-25
  • 2016-12-28
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多