从 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;
}
我正在 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;
}