大佬教程收集整理的这篇文章主要介绍了angularjs – 量角器:’wait’不适用于“element.all”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var category = element.all(by.repeater('category in listCtrl.categories')); var category2 = $$('.category-name.custom-tooltip-link.ng-binding'); var EC = protractor.ExpectedConditions; describe('wait for the first category',function() { it('wait',function() { browser.get('http://www.deep.mg/'); browser.wait(EC.visibilityOf(category.get(0)),@R_618_9285@); browser.wait(EC.visibilityOf(category2.get(0)),@R_618_9285@); }); });
但是测试失败并出现以下错误:失败:索引超出范围.尝试访问index:0处的元素,但只有0个元素匹配locator by.repeater(“listCtrl.categories中的类别”).
错误不依赖于定位器类型,因为两者都出现:“by.repeater”和“by.css”.
选择器没问题,添加’sleep’命令后测试通过:
var category = element.all(by.repeater('category in listCtrl.categories')); var category2 = $$('.category-name.custom-tooltip-link.ng-binding'); var EC = protractor.ExpectedConditions; describe('wait for the first category',function() { browser.get('http://www.deep.mg/'); browser.sleep(15000); browser.wait(EC.visibilityOf(category.get(0)),@R_618_9285@); category.count().then(function(count1) { console.log(count1); //count returns 5,which means there are actually elements in array }); category2.count().then(function(count2) { console.log(count2); }); }); });
此外,超时参数没有帮助,它只是忽略它并立即失败.
所以问题是如何等待数组的某个元素?我错过了什么吗?谢谢.
function presenceOfall(elementArrayFinder) { return function () { return elementArrayFinder.count(function (count) { return count > 0; }); }; }
用法:
browser.wait(presenceOfall(category),10000); browser.wait(presenceOfall(category2),10000);
适合我.
以上是大佬教程为你收集整理的angularjs – 量角器:’wait’不适用于“element.all”全部内容,希望文章能够帮你解决angularjs – 量角器:’wait’不适用于“element.all”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。