3

現在、次の要素をクリックしようとすると、「TypeError: 未定義のメソッド 'クリック' を呼び出せません」というエラーがスローされる理由を突き止めようとして問題が発生しています。

browser.driver.sleep(2000);

// Undefined, figure out why it cant get a hold of this
expect(element.all(by.css('[ng-value="account.id"]')).get(0).isPresent()).toBe(true);

element.all(by.css('[ng-value="account.id"]')).get(0).then(function (elm) {
    browser.driver.sleep(1000);
    elm[0].click();
});

見ている要素は以下のとおりです (複数あるため、".get(0)" を呼び出して、それらのセットの最初のラジオ ボタンを確認します)。

<div class="row row-center" style="height: 85%;">
       <div class="col">
         <div class="list card" ng-if="accounts != null">
            <div class-="list">
                <label class="item item-radio"
                       ng-repeat="account in accounts" ng-if="account.clippable && account.fundable">
                    <input type="radio"
                           ng-model="accountConnection.id"
                           ng-value="account.id" >
                    <div class="item-content">
                        {{ account.meta.name }} ({{ account.meta.number }})
                        <p>${{ account.balance.current }}</p>

                    </div>
                    <i class="radio-icon ion-checkmark"></i>
                </label>
            </div>
        </div>
    </div>
</div>
4

1 に答える 1

1

スニペットを次のように変更しました。

element.all(by.css('[ng-repeat="account in accounts"]')).then(function (elm) {
    elm[0].click();
});

そして今はうまくいっているようです。

于 2015-01-29T11:52:22.660 に答える