代码之家  ›  专栏  ›  技术社区  ›  soccerway

在Cypress测试中,增量函数不起作用,需要每次递增数字吗?

  •  0
  • soccerway  · 技术社区  · 6 年前

    我在调用一个简单的增量函数 getNumber() 每次调用函数时都需要递增数字。

    创建表单时,需要将此数字附加到文本字段的名称,即。 唯一表单名称

    在运行测试时,它实际上返回 1 ,但第二次运行时,它仍然返回 1 而不是 2 .

    我怎样才能做到这一点,或者有没有更好的方法?

    代码:

    const getNumber = (() => {
          var count = 0;
          return () => ++count;
        })();
      cy.wrap({ number: getNumber }).invoke('number')
               .then(number => {
                   const someNum = number;
                   cy.log(someNum);              
                  cy.visit("https://sometestsite.com/createForm")
                 cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
            })
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Brendan    6 年前

    count 每次你打电话 getNumber() . 移动 计数 函数外的声明如下:

    var count = 0;
    const getNumber = (() => {
          return () => ++count;
        })();
      cy.wrap({ number: getNumber }).invoke('number')
               .then(number => {
                   const someNum = number;
                   cy.log(someNum);              
                  cy.visit("https://sometestsite.com/createForm")
                 cy.get('#SomeIdOfTextField').type('Form_Name'+someNum)
            })