Считать значение из текстового поля в тесте пользовательского интерфейса Xamarin REPL

Я работаю над автоматизацией нашего cross-platform приложение в Visual Studio 2013 с помощью Xamarin. И в настоящее время я пытаюсь прочитать значение из текстового поля на странице. Есть ли способ, который можно использовать для этого?

Пример атрибутов элемента из 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")); - получить значение текста по его идентификатору

1 ответ

Решение

Вы можете использовать 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;
}
Другие вопросы по тегам