I am working on automation of our cross-platform
app in Visual Studio 2013 with Xamarin. And I am currently struggling to read the value from Text Field on a page. Is there a method that can be used to do this?
Example of the element attributes from REPL
:
Id => "app_url",
Label => "ApplicationUrlEntryField",
Text => "https://myurladdress.com",
Class => "android.widget.AutoCompleteTextView",
Enabled => true
Now, i need the Text value => https://myurladdress.com
Thanks.
[EDIT]
Actually solve it:
app.Query(x => x.Marked("ApplicationUrlEntryField").Invoke("getText"));
- get the Value of a text by its id
You can use the Text
Property from app.Query
to retrieve the value.
I also like to include a null-check and return string.Empty
if for some reason app.Query
fails.
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;
}