Read value from Text Field in Xamarin UI test REPL

3.1k Views Asked by At

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

1

There are 1 best solutions below

1
On BEST ANSWER

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;
}