当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素

how can i know the current display element when there are element behind element with PROTRACTOR

本文关键字:元素 显示 怎么能 PROTRACTOR      更新时间:2023-12-21

所以我在使用Protractor进行测试时遇到了一个小问题。我正在尝试对我的朋友们正在制作的一个程序进行新的测试。在(用Angularjs编写的)代码中,有几个元素(md sidenav)实际上将一个元素隐藏在另一个元素后面,而当前显示的元素是通过按下按钮(我真的不知道怎么做,我想是通过ng-click和ng-class)。

当我使用功能时

element(by.css('locator')).isDisplayed();

我正在对一个目前没有显示的元素执行此操作。结果是"TRUE",因为所有元素现在都在显示,它们只是一个接一个。如果我需要知道显示的元素,我能做些什么来解决这个问题?

找到所有它们,并使用filter():过滤掉可见的一个

$$('locator').filter(function(elm) {
    return elm.isDisplayed();
}).first();

其中CCD_ 2等效于CCD_。

使用一些预期的条件,使元素可以点击,并尝试在promise中编写所有内容。element.all(by.id('1stClick')).then(function(){元素(by.id('2ndClick')).then(function(){等等。,});});https://angular.github.io/protractor/#/api?view=ExpectedConditions