Инструменты iOS - ошибка UIADatePicker - элемент не виден

Я пытаюсь выбрать значение из UIPickerWheel в своем приложении. Колесо выбора появляется, когда я нажимаю на поле даты, и значения: месяц (январь, февраль,...), дата (1,2,...) и год (2013, 2012...)

Я получаю правильное значение, когда делаю следующее

**

selectedvalue = target.frontMostApp().mainWindow().pickers()[0].wheels()[0].value();
UIALogger.logDebug(selectedValue)

**

Однако, когда я пытаюсь нажать на колесо, используя следующий код:

target.frontMostApp().mainWindow().pickers()[0].wheels()[0].tap();

Я получаю сообщение об ошибке: target.frontMostApp().mainWindow().pickers()[0].wheels()[0] не удалось нажать, поскольку элемент не отображается в строке xxx yyyyscript

Я проверил другие темы на UIAPickerWheel, и этот конкретный шаг кажется достаточно простым. Однако я сбит с толку, поскольку значение извлекается из колеса, но нажатие не выполняется.

Любая помощь будет принята с благодарностью!

Спасибо и с уважением, Винай


person user3067462    schedule 04.12.2013    source источник


Ответы (1)


У меня точно такая же проблема, датапикер не в дереве

 UIAWindow "(null)" {{0, 0}, {320, 568}}
elements: {
    UIANavigationBar "Step 1: My Details" {{0, 20}, {320, 44}}
    elements: {
        UIAImage "(null)" {{0, 0}, {320, 64}}
        elements: {
            UIAImage "(null)" {{0, 64}, {320, 0.5}}
        }
        UIAButton "UINavigationBarBackIndicatorDefault.png" {{8, 32}, {12.5, 20.5}}
        UIAStaticText "Step 1: My Details" {{88.5, 28}, {143, 27}}
    }
    UIAScrollView "(null)" {{0, 64}, {320, 310}}
    elements: {
        UIATextField "Ird" {{0, -4}, {320, 50}}
        UIAImage "(null)" {{316.5, -4}, {3.5, 310}}
        UIATextField "FirstName" {{0, 46}, {320, 50}}
        UIATextField "MiddleName" {{0, 96}, {320, 50}}
        UIATextField "LastName" {{0, 146}, {320, 50}}
        UIATextField "DOB" {{0, 196}, {320, 50}}
        UIAButton "Next" {{10, 256}, {300, 50}}
        UIAImage "(null)" {{0, 302.5}, {320, 3.5}}
    }
    }

В текстовом поле DOB для inputView установлено значение datepick.

Используя Reveal, я вижу, что средство выбора даты теперь находится под uitexteffectsview.

Чтобы в основном ответить на мою и вашу проблему с помощью mechanic.js, вы можете выбрать все uipickers с помощью этого

$('window > picker')[0]

Мне удалось получить полный журнал, запустив это

UIALogger.logDebug("Pickers " + UIATarget.localTarget().logElementTree())

Вот полный журнал

    elements: {
    UIAApplication "MyApp" {{0, 20}, {320, 548}}
    elements: {
        UIAWindow "(null)" {{0, 0}, {320, 568}}
        elements: {
            UIANavigationBar "Step 1: My Details" {{0, 20}, {320, 44}}
            elements: {
                UIAImage "(null)" {{0, 0}, {320, 64}}
                elements: {
                    UIAImage "(null)" {{0, 64}, {320, 0.5}}
                }
                UIAButton "UINavigationBarBackIndicatorDefault.png" {{8, 32}, {12.5, 20.5}}
                UIAStaticText "Step 1: My Details" {{88.5, 28}, {143, 27}}
            }
            UIAScrollView "(null)" {{0, 64}, {320, 310}}
            elements: {
                UIATextField "Ird" {{0, -4}, {320, 50}}
                UIAImage "(null)" {{316.5, -4}, {3.5, 310}}
                UIATextField "FirstName" {{0, 46}, {320, 50}}
                UIATextField "MiddleName" {{0, 96}, {320, 50}}
                UIATextField "LastName" {{0, 146}, {320, 50}}
                UIATextField "DOB" {{0, 196}, {320, 50}}
                UIAButton "Next" {{10, 256}, {300, 50}}
                UIAImage "(null)" {{0, 302.5}, {320, 3.5}}
            }
        }
        UIAWindow "(null)" {{0, 0}, {320, 568}}
        elements: {
            UIAPicker "(null)" {{0, 352}, {320, 216}}
            elements: {
                UIAPickerWheel "(null)" {{29, 314.5}, {135, 291}}
                UIAPickerWheel "(null)" {{169, 314.5}, {46, 291}}
                UIAPickerWheel "(null)" {{220, 314.5}, {72, 291}}
            }
        }
        UIAWindow "(null)" {{0, 0}, {320, 568}}
        elements: {
            UIAStatusBar "(null)" {{0, 0}, {320, 20}}
            elements: {
                UIAElement "Swipe down with three fingers to reveal the notification center., Swipe up with three fingers to reveal the control center, Double-tap to scroll to top" {{6, 0}, {38, 20}}
                UIAElement "3 of 3 Wi-Fi bars" {{49, 0}, {13, 20}}
                UIAElement "9:49 AM" {{137, 0}, {47, 20}}
                UIAElement "100% battery power" {{290, 0}, {25, 20}}
            }
        }
    }
}
person michael.boost    schedule 13.01.2014