Protractor 一些量角器测试开始在Chrome上抛出元素不可点击错误-仅在我的本地环境中

Protractor 一些量角器测试开始在Chrome上抛出元素不可点击错误-仅在我的本地环境中,protractor,Protractor,我有一个量角器测试,在过去几个月一直工作良好,但本周不再工作。它不断抛出“元素不可单击”错误。测试在页面上找到一个按钮元素(在页面加载时最初不可见,但会自动滚动到该元素),并尝试单击它,但失败 我的环境: node v7.4.0 protractor v5.0.0 Chrome 56.0.2924.87 (64-bit) chromedriver_2.26 Mac OS X 10.12.3 与我正在测试的页面类似的HTML示例: <article class="left-nav-cont

我有一个量角器测试,在过去几个月一直工作良好,但本周不再工作。它不断抛出“元素不可单击”错误。测试在页面上找到一个按钮元素(在页面加载时最初不可见,但会自动滚动到该元素),并尝试单击它,但失败

我的环境:

node v7.4.0
protractor v5.0.0
Chrome 56.0.2924.87 (64-bit)
chromedriver_2.26
Mac OS X 10.12.3
与我正在测试的页面类似的HTML示例:

<article class="left-nav-content" ui-view="">
    <al-embed-flex id="flex-content" ui-view="html">
        <div class="settings">
            <div ng-if="ENABLED">
                <div ng-repeat="group in tree" class="settings-group" ng-if="group.types.length > 0">
                    <ul>
                        <li ng-repeat="type in group.types">
                            <button type="button" ng-click="connect(type)">
                                <span class="icon-connect"></span>
                                <span>Connect</span>
                            </button>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </al-embed-flex>
</article>
在过去的一个月里,我根本没有修改过这个测试。我最近为我的项目设置了TypeScript,但是这些测试文件还没有转换成.ts。有趣的是,我的另外两名团队成员可以运行此测试,而不会看到我看到的错误,其中一人的环境与我的环境几乎相同

我已经找到了解决这个问题的方法,很多人建议在单击元素之前显式滚动到元素?但是我也看到一些人说滚动现在是自动完成的,当我观看我的测试运行时,看起来就是这样。我还有其他几个测试,它们似乎会自动滚动到不可见的元素,并且运行正常


请帮忙。TIA.

如果chrome窗口太小,可能会发生这种情况的原因之一

您应该在配置文件中设置窗口大小

onPrepare: function() {
  browser.manage().window().setSize(1600, 1000);
}

是的,可能是窗户的大小会有问题

如果您的系统具有完全分辨率。然后到下面去

onPrepare: function() {
browser.manage().window().setSize(1920, 1080);
}
否则,请坚持标准大小1280、1024,以便所有元素始终可见

onPrepare: function() {
browser.manage().window().setSize(1920, 1080);
}