【问题标题】:How to use forEach with Cypress to loop through and condense the current code block如何使用 forEach 和 Cypress 循环并压缩当前代码块
【发布时间】:2021-09-24 12:06:21
【问题描述】:

所以我是 cypress 的新手,我希望使用 forEach 创建一个循环,但不知道如何应用它。我正在寻找使当前的代码块干燥。有人对我将如何做到这一点有任何建议吗?它需要遍历一周中的每一天,并且每次都在“第一”和“最后”之间切换。我已经提供了我想要压缩的代码。希望这是足够的信息 - 这是我第一次在这里发帖,所以任何建议都将不胜感激!

cy.get('#button').click();
  cy.get('#income-button').click();
  cy.contains('Starts on').click();
  cy.contains('First').click({force: true});
  cy.wait(50);
  cy.contains('Monday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(50);
  cy.contains('Tuesday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('First').click({force: true});
  cy.wait(50);
  cy.contains('Wednesday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(50);
  cy.contains('Thursday').click({force: true});
  cy.contains('Starts on').click();
  cy.contains('First').click({force: true});
  cy.wait(500);
  cy.contains('Friday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(500);
  cy.contains('Saturday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('First').click({force: true});
  cy.wait(500);
  cy.contains('Sunday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(500);
  cy.contains('Monday').click({force: true});
  cy.contains('Starts on').click();
  cy.contains('First').click({force: true});
  cy.wait(500);
  cy.contains('Tuesday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(500);
  cy.contains('Wednesday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('First').click({force: true});
  cy.wait(500);
  cy.contains('Thursday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(500);
  cy.contains('Friday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('First').click({force: true});
  cy.wait(500);
  cy.contains('Saturday').click({force: true});
  cy.contains('Starts on').click({force: true});
  cy.contains('Last').click({force: true});
  cy.wait(500);
  cy.contains('Sunday').click({force: true});

【问题讨论】:

    标签: javascript loops foreach automation cypress


    【解决方案1】:

    您可以创建一个包含所有日期的字符串数组,然后添加一个 For 循环,如下所示:

    var days = [
      'Monday',
      'Tuesday',
      'Wednesday',
      'Thursday',
      'Friday',
      'Saturday',
      'Sunday',
    ]
    
    for (var index in days) {
      cy.contains(days[index]).click({force: true})
      cy.contains('Starts on').click({force: true})
      cy.contains('Last').click({force: true})
      cy.wait(50)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      相关资源
      最近更新 更多