2

UIAutomation API を使用して一連の大量のテストを作成しました。テストは Jenkins によって起動され、Tuneup JS を使用します。

私の問題はピッカーホイールにあります。いくつかのテストでピッカー ホイールが発生し、ほとんどの場合、無効な要素が原因で失敗しますUIAElementNiltarget.pushTimeout()ピッカー ホイール要素のハンドルを取得するためのテスト時間を確保するために、推奨される方法を使用してみましたが、うまくいきませんでした。

ピッカー ホイールを使用した各テストは時々 (まれに) パスするので、コード自体が問題ではないと確信しています。

自動化テストで同様の問題が発生し、ピッカー ホイールがこの問題の理由または解決策を見つけた人はいますか?

target.pushTimeout(PICKER_WHEEL_DELAY);
rowTap(window.tableViews()[0], PRICE);

validField1 = false;
validField2 = false;

try {

    var picker = app.windows()[2].elements()[0].pickers()[0];
    if (picker.isValid()) {

        var wheel1 = picker.wheels()[0];
        var wheel2 = picker.wheels()[1];

        if (wheel1.isValid()){

            var pickedItems = wheel1.values();
            var nrOfItems = pickedItems.length;

            if (nrOfItems > 0 ) {
                wheel1.selectValue(MIN_PRICE_NEW_HOME);
                validField1 = true;
            }
        }

        if (wheel2.isValid()){

            pickedItems = wheel2.values();
            nrOfItems = pickedItems.length;

            if (nrOfItems > 0 ) {
                wheel2.selectValue(MAX_PRICE_NEW_HOME);
                validField2 = true;
            }
        }
    }
}
catch(error) {
    UIALogger.logFail(error);
} finally {
    if (validField1 != true  || validField2 != true) {
        cleanUpAfterPickerFail(app);
        throw "failed: Couldnt find a valid picker wheel";
    }
}

app.windows()[2].elements()[0].toolbars()[0].buttons()["Done"].tap();
target.popTimeout();
4

1 に答える 1