2

分度器と角度を使用してモーダル ウィンドウの表示ボタンをテストしようとすると、次のエラーが表示されます。

UnknownError: 不明なエラー: ポイント (400、234) で要素をクリックできません。他の要素はクリックを受け取ります: <div class="modal-footer">...</div>'.

各ステートメントの前にウィンドウのサイズをより大きなサイズに変更しようとしました。また、クリックする前にページの上部にスクロールしようとしました。助言がありますか?

コード:

it('should create a new portfolio when modal form is completed', function () {
    portfolio_create_btn.first().click().then();
    element(by.model('portfolios.portName')).sendKeys('Test');
    element(by.css('#portfolio-modal-create-button')).click();

    Tabs.filter(function (elem, index) {
        return elem.getTagName('tab-heading').getText();
    }).then(function (filteredElements) {
        expect(filteredElements.length).toEqual(expect_tabs_len_start + 1);
    });
});

ほとんどの HTML:

        <div class="container-fluid">
            <h1 class='port-title port-manager-header title custom-inline'>Portfolios</h1>

            <div ng-controller="ModalCtrl" class='create-new-frame'>
                <!--todo move to a partial or into $templateCache -->
                <script type="text/ng-template" id="myModalContent.html">
                    <div class="modal-header">
                        <h3 class="modal-title">Create New Portfolio</h3>
                    </div>
                    <form name='eventForm' method="POST">
                        <div class="modal-body">
                            <input id='create-new-portfolio-input' class='form-control' ng-model='portfolios.portName'
                                   placeholder='Portfolio name' ng-required='true' maxlength="35" focus-me="true">
                            <span class="help-inline" ng-show="notUnique">Portfolio name already used</span>
                            <!-- 
                            Private/Group selection to be used in future versions
                            <div ng-init="radioModel = 'Right'; portfolios.groupSelection = false" class="btn-group">
                                <label class="btn btn-primary" ng-model="radioModel" ng-click='portfolios.groupSelection = true' btn-radio="'Left'">Group</label>
                                <label class="btn btn-primary" ng-model="radioModel" ng-click='portfolios.groupSelection = false' btn-radio="'Right'">Private</label>
                            </div> 
                            -->
                        </div>
                        <div class="modal-footer">
                            <button class="btn btn-primary" ng-click="ok(portfolios.portName)"
                                    ng-disabled="eventForm.$invalid || notUnique" id='portfolio-modal-create-button'>
                                Create
                            </button>
                            <button class="btn btn-warning" ng-click="cancel()" id='portfolio-modal-cancel-button'>Cancel</button>
                        </div>
                    </form>
                </script>
                <button class="btn btn-sm btn-primary create-new-frame-btn" ng-click="open('sm')">Create New</button>
            </div>
            <div class="title port-title custom-inline pull-right">
            <!-- <span class="text-muted">
                Organization // user
            </span> -->
            </div>
        </div>
4

1 に答える 1

0

問題を引き起こす前のテストで、モーダルを開いて開いたままにしていたことが判明しました。このテストで新しいモーダルを開こうとすると、モーダルがすでに開いているため、そうするためのボタンが見つかりませんでした。もっと詳しく調べるまで、テストの最初の行がエラーの原因であることに気付きませんでした。問題が解決しました。

于 2015-01-05T16:45:08.363 に答える