Xamarin UI Test Выбор даты в Android (в ожидании)

Я работаю с Xamarin UI Test (1.0.0). Я пытаюсь написать метод расширения, который будет обновлять выбранную дату. Вот что я написал до сих пор. Работает с iOS и Android 4.x. он не работает с Android 5.x.

   public static void EnterDate(this IApp app, string datePickerStyleId, DateTime date)
    {
        var array = app.Query(datePickerStyleId);
        if (array.Length == 0)
            return;
        foreach (var picker in array)
        {
            var newMonth = date.ToString("MMM");
            var newDay = date.Day.ToString();
            var newYear = date.Year.ToString();
            if (app.IsAndroid())
            {
                app.Tap(picker.Label);
                //if device OS > 5 try scrolll up
                app.Repl();
                app.Screenshot("Date Picker");
                app.Tap("month");
                app.EnterText(newMonth);
                app.PressEnter();
                app.Tap("day");
                app.EnterText(newDay);
                app.PressEnter();
                app.Tap("year");
                app.EnterText(newYear);
                app.PressEnter();
                app.ClickDone();
                app.Screenshot("Page After Changing Date");
                app.ClickButton("Ok");
            }
            else if (app.IsIOS())
            {
                app.Tap(picker.Id);
                app.Screenshot("Date Picker");
                var currentDate = picker.Text;
                var split = currentDate.Split(' ');
                var currentMonth = split[0];
                var currentDay = split[1].Remove(split[1].Length - 1);
                var currentYear = split[2];
                if (!newMonth.Equals(currentMonth))
                {
                    app.Tap(newMonth);
                }
                if (!newDay.Equals(currentDay))
                {
                    app.Tap(newDay);
                }
                if (!newYear.Equals(currentYear))
                {
                    app.Tap(newYear);
                }
                app.ClickButton("Done");
            }
        }
    }

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как выбрать определенную дату. App.ScrollUp()/.ScrollDown() работают для перехода к различным месяцам. Хотя я не нашел, чтобы определить текущий месяц, а затем выбрать день. Вот выходные данные команды дерева инструмента Repl().

tree [[object CalabashRootView]>...> FrameLayout] [FrameLayout] id: "content" [LinearLayout] id: "parentPanel" [FrameLayout] id: "customPanel" [FrameLayout] id: "custom" [DatePicker> LinearLayout] id: "datePicker" [LinearLayout] id: "day_picker_selector_layout"
Id [TextView]: "date_picker_header" текст: "четверг" [LinearLayout] id: "date_picker_month_day_year_layout" [LinearLayout] id: "date_picker_month_and_day_layout", метка: "6 августа" [TextView] id: "date_picker_month" TextView] id: "date_picker_day" текст: "6" [TextView] id: "date_picker_year" текст: "2015" [AccessibleDateAnimator > ... > SimpleMonthView] id: "аниматор", метка: "Сетка месяца дней: 6 августа " [LinearLayout] id: "buttonPanel" [Button] id: "button2"текст: "Cancel" [Button] id: "button1"текст: "OK"

Кто-нибудь знает или есть метод выбора даты для теста пользовательского интерфейса Xamarin, который будет работать на iOS и Android (4.x и 5.x)?

0 ответов

Другие вопросы по тегам