Protractor 在量角器中查找嵌套中继器中的元素
我试图在嵌套的中继器中找到一个元素,但我不确定如何处理它 默认情况下,HTML如下所示(编辑它以便于理解)Protractor 在量角器中查找嵌套中继器中的元素,protractor,Protractor,我试图在嵌套的中继器中找到一个元素,但我不确定如何处理它 默认情况下,HTML如下所示(编辑它以便于理解) 查看更多信息如果页面上没有更多项目显示,则该按钮将被禁用 因此,我的问题是:从默认页面(在单击“查看更多”按钮之前)如何找到元素文本6 测试应该做什么: 在前三项中搜索elementA 如果未找到,请单击查看更多,然后在接下来的三个项目中搜索elementA 如果未找到,请再次单击查看更多,然后在接下来的三个项目中搜索元素a 下面的代码使用转发器进行搜索,但我不确定如何在嵌套转发器之间
查看更多信息
如果页面上没有更多项目显示,则该按钮将被禁用
因此,我的问题是:从默认页面(在单击“查看更多”按钮之前)如何找到元素文本6
测试应该做什么:
- 在前三项中搜索
elementA
- 如果未找到,请单击
,然后在接下来的三个项目中搜索查看更多
elementA
- 如果未找到,请再次单击
,然后在接下来的三个项目中搜索查看更多
元素a
let filteredList = this.Repeater2Elem.filter((item) => {
return item.getText().then((text) => {
return bundle === "text 2";
});
}).first().element(by.buttonText('Element Found')).click();
这取决于单击“更多”后出现的元素是否存在但未显示或根本不出现在DOM中。 假设元素在DOM中,但未显示。(下面显示的代码未经测试)
首先获取所需元素,然后通过单击“查看更多”按钮将其显示。这取决于单击“更多”后显示的元素是否存在但未显示或根本不显示在DOM中。 假设元素在DOM中,但未显示。(下面显示的代码未经测试) 首先获取所需元素,然后通过单击“查看更多”按钮将其显示
<div ng-repeat = "Repeater1">
<div ng-repeat = "Repeater2"> Text1 </div>
<div ng-repeat = "Repeater2"> Text2 </div>
<div ng-repeat = "Repeater2"> Text3 </div>
</div>
<div ng-repeat = "Repeater1">
<div ng-repeat = "Repeater2"> Text4 </div>
<div ng-repeat = "Repeater2"> Text5 </div>
<div ng-repeat = "Repeater2"> Text6 </div>
</div>
let filteredList = this.Repeater2Elem.filter((item) => {
return item.getText().then((text) => {
return bundle === "text 2";
});
}).first().element(by.buttonText('Element Found')).click();
function getAppearence(elem) {
return elem.isDispalyed().then(function (isDispalyed) {
if (isDispalyed)
return elem;//will return the element to continue working on it, otherwise return true
else {
return viewMoreButton.click().then(function () {
return getAppearence(elem);
});
}
});
}
this.Repeater2Elem.filter(function (item, index) {
return item.getText().then(function (text) {
return text === "textX";
});
}).then(function (elem) {
if (elem.length ==1)
return getAppearence(elem[0]).then(function (elem) {
return elem
})
})