量角器 + angular 错误 - 元素在该点不可点击

Protractor + angular error - Element is not clickable at point

当尝试使用量角器和角度测试模态 window 上的可见按钮时,我收到以下错误:

UnknownError: unknown error: Element is not clickable at point (400, 234). Other element would receive the click: <div class="modal-footer">...</div>'.

我尝试在每个语句之前将 window 的大小调整到更大的大小,并且也尝试在单击之前滚动到页面顶部。有什么建议吗?

代码:

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>

事实证明,导致问题的测试之前是打开模态并保持打开状态,然后当此测试尝试打开一个新模态时,找不到这样做的按钮,因为模态是已经打开了。在我仔细观察之前,我没有意识到测试的第一行导致了错误。问题已解决。