Javascript 环路问题量角器
我对量角器javascript中的for循环有一个小问题。 当我在for循环中运行for循环时。我首先获取第一个循环的所有console.log,然后获取第二个循环的所有日志 现在,当我运行测试时,我得到 第一圈0 第一圈1 第一环路2 第二圈0 第二环路1 但这不是我所期望的。我想要 第一圈0 第二圈0 第二环路1 第一圈1Javascript 环路问题量角器,javascript,jasmine,protractor,Javascript,Jasmine,Protractor,我对量角器javascript中的for循环有一个小问题。 当我在for循环中运行for循环时。我首先获取第一个循环的所有console.log,然后获取第二个循环的所有日志 现在,当我运行测试时,我得到 第一圈0 第一圈1 第一环路2 第二圈0 第二环路1 但这不是我所期望的。我想要 第一圈0 第二圈0 第二环路1 第一圈1 element.all(by.css('.settings__group .settings__sub-title')).count().then(funct
element.all(by.css('.settings__group .settings__sub-title')).count().then(function(count)
{
for(var j = 0; j < count;j++)
{
console.log('first loop ' + j);
browser.sleep(2000);
element.all(by.className('settings__group')).get(j).all(by.className('settings__item')).count().then(function (c) {
for (let i = 0; i < c; i++) {
console.log('second loop ' + i);
browser.sleep(1000);
element.all(by.className('settings__group')).get(j).all(by.className('settings__item')).get(i).click();
browser.sleep(1000);
element(by.id('crValidationButton')).isPresent().then(function (present) {
if (present) {
element(by.id('crValidationButton')).click();
browser.sleep(2000);
v.validationCase();
browser.sleep(2000);
}
else {
browser.sleep(2000);
v.validationCase();
browser.sleep(2000);
}
});
browser.sleep(1500);
}
});
}
});
element.all(按.css('.settings\uu group.settings\uuu sub-title')).count()。然后(函数(count)
{
对于(var j=0;j
该问题与量角器内的承诺有关
我不太喜欢打圈
我通常做的是使用递归函数
...function(count) {
firstLoop(0, count);
});
function firstLoop(j, count) {
if (j < count) {
... {
secondLoop(0, c);
}
firstLoop(j + 1, count);
}
}
function secondLoop(i, c) {
if (i < c) {
...
secondLoop(i + 1, c);
}
}
…函数(计数){
第一个循环(0,计数);
});
函数firstLoop(j,count){
如果(j