Xamarin UITest Query Как получить только метку в ответ - PullRequest
1 голос
/ 21 октября 2019

Когда я запрашиваю свой список с идентификатором автоматизации в окне Repl (), я получаю часть данных. Я хочу вернуть только одно поле 'Текст' или 'Метка'

, вот мой запрос: app.Query (q => q.Id ("employeeList"). Descendant (). Id ("employeeName"). Index (0). Class ("UILabel"). Index (0))

здесь возвращается: [[0] {
Id=> null, Описание => ">", Rect => {Ширина => 88, Высота => 20,5, X => 12, Y => 144, CenterX => 56, CenterY => 154.25}, Метка => "Абриль, Джилл М. ", Text =>" Абриль, Джилл М. ", Class =>" UILabel ", Enabled => true}]

Я хочу продолжить запрос и только вернуться"Абриль, Джилл М. "

Я попытался добавить. Лейбл, не повезло, что он сломался с ошибкой: (1,103): ошибка CS1061: Тип Xamarin.UITest.Queries.AppQuery' does not contain a definition for Метка и метод расширения Label' of typeXamarin.UITest.Queries.AppQuery 'можно найти. Вам не хватает ссылки на сборку

Ответы [ 2 ]

1 голос
/ 21 октября 2019

Это должно работать:

var query = app.Query(q => q.Id("officerList")
            .Descendant().Id("officerName")
            .Index(0).Class("UILabel")
            .Index(0));

var labelText = query[0]?.Text;

labelText должно содержать значение нужной метки.

В резюме Query возвращает массив AppResult (AppResult []). Вам нужно получить предмет, который вы хотите, и в данном случае это первый предмет.

Надеюсь, это поможет .-

0 голосов
/ 05 ноября 2019

Вы можете попробовать этот запрос также для Label - q.Id ("employeeList"). Descendant (). Id ("employeeName"). Index (0) .Class ("UILabel"). Index (0)). Метка

Вывод - "Abril, Jill M.",,

ИЛИ для текста

q.Id ("employeeList"). Descendant (). Id ("employeeName") .Index (0) .Class (" UILabel "). Index (0)). First.text

Вывод -" Abril, Jill M. "

Может быть, это будет работать

...