Как получить текст определенного элемента — Xamarin UI Test

У меня есть:

Идентификатор [TextView]: "MonthValue" текст: "11"

Я хочу получить текст в виде строки идентификатора MonthValue


person Żyli    schedule 08.11.2016    source источник
comment
Мне нужно: 11 как String   -  person Żyli    schedule 08.11.2016


Ответы (4)


Просто используйте свойство Text запроса:

app.Query(c => c.Id("MonthValue").Text

Ссылка: https://developer.xamarin.com/api/property/Xamarin.UITest.Queries.AppResult.Text/

person Krumelur    schedule 08.11.2016

Хотите обновить ответ Джима. app.Query возвращает массив, поэтому мы не можем использовать app.Query(c => c.Id("MonthValue")).Text как таковое. Например, мы должны использовать app.Query(c => c.Id("MonthValue"))[0].Text

person MiddleD.    schedule 12.09.2017

app.Query(c => c.Id("MonthValue").Text("11")) должен это сделать

person JimBobBennett    schedule 08.11.2016
comment
Да, но я должен получить это значение, потому что я могу изменить это значение на +/-. что должно работать так: String x = app.Query(c => c.Id(MonthValue).getText()) - person Żyli; 08.11.2016
comment
AppResult имеет свойство Text, поэтому попробуйте app.Query(c => c.Id(MonthValue)).Text. developer.xamarin.com/api/property/ - person JimBobBennett; 08.11.2016

Я также застрял в той же проблеме, хотя я получил решение с помощью отладки через команду Repl(). Попробуйте использовать с индексной позицией следующим образом:

app.Query(c=>c.Id("NoResourceEntry-8"))[0].Text

аналогично вы можете использовать класс для того же:

app.Query(c=>c.Class("LabelRenderer"))[0].Text

Запрос для Class("LabelRenderer") дал 2 результата. Итак, в приведенном выше примере вы можете видеть, что он дал вам 2 результата, но вы должны использовать индекс для определенного результата.

person Amit    schedule 21.05.2020