Считать значение из текстового поля в тесте пользовательского интерфейса 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;
}