【问题标题】:How do I iterate and save an array using cy.each in Cypress with Cucumber Preprocessor?如何在 Cypress 中使用 Cucumber Preprocessor 中的 cy.each 迭代和保存数组?
【发布时间】:2021-08-17 19:30:17
【问题描述】:

我正在尝试获取即将到来的课程卡片 div 中的所有参数。它有课程信息、课程数据、课程名称、教师姓名和注册按钮。我尝试了以下代码,它打印出 1、1+2、1+2+3、1+2+3+4。我怎么能只有 1 2 3 4 而不是重复?

Then('validate upcoming coursecard all parameters',()=>{
    var a = []
    cy.get('.upcoming_course_card')
    .each(($li, index, $lis) => {
        a.push($li[0].innerText)
        console.log(a)
      }) 
})

【问题讨论】:

    标签: javascript cucumber cypress cypress-cucumber-preprocessor


    【解决方案1】:

    我不确定我是否正确理解了这个问题:

    1. 假设您想准确输出每次迭代中推入数组的元素,然后使用索引来实现:

    Then('validate upcoming coursecard all parameters',()=>{
        let a = []
        cy.get('.upcoming_course_card')
        .each(($li, index, $lis) => {
            a.push($li[0].innerText)
            console.log(a[index])
          }) 
    })
    1. 假设您只想在末尾有一个汇总日志语句,打印出数组的所有内容,那么您只需将日志语句放在循环之外:

    Then('validate upcoming coursecard all parameters', () => {
      let a = [];
      cy.get('.upcoming_course_card').each(($li, index, $lis) => {
        a.push($li[0].innerText);
      });
      console.log(a);
    });

    作为提示,请考虑使用 let 而不是 var。例如,您可以在 this post 中找到有关此内容的详细信息。

    【讨论】:

      猜你喜欢
      • 2022-09-30
      • 2023-02-21
      • 2023-02-02
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2022-06-28
      • 2022-11-17
      • 1970-01-01
      相关资源
      最近更新 更多