gpt4 book ai didi

javascript - Protractor js,中继器不遍历 'result'

转载 作者:行者123 更新时间:2023-11-30 15:55:27 24 4
gpt4 key购买 nike

在我的 protractor.test.js 中

it('should make sure that there are listings on the page', function()
{
var count = element.all(by.repeater('res in result'));
count.then(function(result){
expect(result.length).toBeGreaterThan(0);
}, 5000);

})

在我的 index.html 中

  <div class="item item-text-wrap" ng-click="post($event,res)"  ng-repeat="res in result"  ng-controller="recommendedJobsCtrl" ui-sref="menu.jobDetails" >

问题是它说期望 0 大于 0。但是当我在测试中将它更改为 res 或任何其他词时,它仍然给我相同的答案。我不认为它在读我的结果

最佳答案

我同意 igniteram's answer 的部分内容你应该使用 count() , 但您不能在 ElementArrayFinder 上使用预期条件(这是 element.all 返回的)。

相反,您也可以尝试使用辅助函数,该函数取自 alecxe's answer on this question .

// in my helper file Util.js

// wait for X number of elements
Util.prototype.presenceOfAll = function (elem, num) {
console.log('Waiting for elements ' + elem.locator() + ' to have a count of ' + num);
return browser.wait(function () {
return elem.count().then(function (count) {
return count >= num;
});
}, 5000, 'Failed waiting for ' + elem.locator() + ' to have ' + num + ' total items');
};

用法:

var userNav = element.all(by.css('li.navbar-item'));
// wait for userNav to have 4 elements/buttons
Util.presenceOfAll(userNav, 4).then(function () {
// your code
});

另请注意 Protractor 补丁 expect隐式处理 promise ,所以你不需要使用 .then().count() 之后除非你在做别的事情。所以将其应用于您的代码,我会这样修改它:

it('should make sure that there are listings on the page', function() {
var count = element.all(by.repeater('res in result'));
Util.presenceOfAll(count, 5); // change 5 for whatever number should be there
expect(count.count()).toEqual(5);

// could also have been written as this since presenceOfAll returns a promise
Util.presenceOfAll(count, 5).then(function() {
expect(count.count()).toEqual(5);
});
});

关于javascript - Protractor js,中继器不遍历 'result',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38631730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com