在量角器

时间:2017-06-12 14:42:12

标签: javascript selenium protractor e2e-testing

我需要使用actions.mouseMove()函数将鼠标悬停在响应式下拉列表元素上。在这样做并点击元素之后,反应性下拉持续存在,所以我现在需要找到将鼠标移离悬停盒的方法。我通过在单击我的链接后包含一个返回browser.actions()。mouseDown()。perform()来完成此操作。这是我的全部功能

this.changeCurrentClient = function() {
    var profile = $('[id="hdr-profile-wrapper"]');
    var changeClient = element(by.buttonText('Change Client'));
    browser.actions().mouseMove(profile).perform();
    changeClient.click();
    return browser.actions().mouseDown().perform();
};

这很好用,但问题是当我在网格上运行它时,有时候没有正确地执行moveDown()函数来突破悬停菜单。我假设这是因为它在网格上运行速度稍慢,并且DOM需要更长的时间才能加载。有没有更好的方法来摆脱这种而不是令人耳目一新或做出艰难的等待?

在执行mouseDown()之前,我已经尝试在悬停菜单之外隐式等待页面上的另一个元素,但是看起来第一个action.perform()几乎将你隔离到了悬停菜单,所以没有其他元素在悬停菜单之外可以找到。刷新真的是唯一的方法吗?

0 个答案:

没有答案