赛普拉斯遍历数组中的元素

乔安妮

我正在努力使用cypress / typescript遍历数组中的元素。我记录了所有很棒的东西,能够看到每个索引及其显示的内容,但是我仍然返回整个数组与实际索引的关系,两天后,我无法弄清楚如何获取实际索引[0],[1],[ 2]等。我尝试了很多东西,但这是我最近的尝试。感谢您为结束我的痛苦所提供的帮助!

    sportPage.getFirstCard().within(() => {
      sportPage.getSecondSection().within(() => {
        sportPage
          .getMyCoolType()
          .should('exist')
          .each(($item, $index) => {
            cy.wrap($item)
              .invoke('text')
              .then((text) => {
                if ($index !== 0) values.push(text);
                cy.log($index.toString());
                cy.log(text);
              });
          })
          .then(() => expect(values.toString()).to.equal('Yoga');
      });
    });
  });
});
阿克罗伊德

要测试由返回的元素数组中的各个文本.getMyCoolType()

sportPage.getFirstCard().within(() => {
  sportPage.getSecondSection().within(() => {
    sportPage
      .getMyCoolType()
      .should('exist')
      .each(($item, $index) => {
        cy.wrap($item)
          .invoke('text')
          .then((text) => {
            cy.log($index.toString());
            cy.log(text);
            if ($index !== 0) {
              expect(text.trim()).to.equal('Yoga');
            }
          });
      })
  });
});

或在循环后测试所有项目

sportPage.getFirstCard().within(() => {
  sportPage.getSecondSection().within(() => {
    sportPage
      .getMyCoolType()
      .should('exist')
      .each(($item, $index) => {
        cy.wrap($item)
          .invoke('text')
          .then((text) => {
            if ($index !== 0) values.push(text);
            cy.log($index.toString());
            cy.log(text);
          });
      })
      .then(() => expect(values.every(item => item === 'Yoga')).to.equal(true) );
  });
});

您也可能会摆脱这个

sportPage.getFirstCard().within(() => {
  sportPage.getSecondSection().within(() => {
    sportPage
      .getMyCoolType()
      .should('exist')
      .then(($items) => {
        const texts = [...$items].map(item => item.text()); // map elements into texts
        return texts.slice(1);                              // ignoring the first one
      })
      .then((items) => expect(items.every(item => item === 'Yoga')).to.equal(true) );
  });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章