Xamarin формирует изменяющееся значение выбора времени для теста пользовательского интерфейса
В Xamarin формы для выбора времени ниже
Как изменить значение выбора времени для теста пользовательского интерфейса xamarin. Я могу открыть окно выбора времени, но не знаю, как изменить время. Это снимок экрана дерева app.Repl() для средства выбора времени.
Это моя попытка изменить часы.
app.WaitForElement(c => c.Marked("hours"));
app.Tap(c => c.Marked("hours"));
app.EnterText(c => c.Marked("hours"), newHours) // errors can't pull up keyboard
1 ответ
Я обнаружил, что самый простой способ обработки элементов управления датой и временем - использовать метод Invoke для доступа к бэкдорам, которые открываются в элементах управления выбора времени / даты.
// invokes a method to input the hour into the picker, time format is 24 hour
app.Query(c => c.Class("RadialTimePickerView").Invoke("setCurrentHour", (int)hour));
// invokes a method to input the minute into the picker
app.Query(c => c.Class("RadialTimePickerView").Invoke("setCurrentMinute", (int)minute));
И средство выбора даты очень похоже, но вместо того, чтобы требовать два отдельных метода, оно просто использует один.
// invokes a method to input the date into the picker, where month starts from 0
app.Query(c => c.Raw("DatePicker").Invoke("updateDate", (int)year, (int)month - 1, (int)day));
Я бы порекомендовал использовать этот конкретный бэкдор, так как он работает в самых разных версиях Android, так как каждая версия Android имеет немного другой стиль выбора даты / времени.