javascript 如何在cypress中将标题行转换为typescript数组并返回该数组

wkyowqbh  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(127)

假设我正在遍历ag-grid的头部,并希望将其保存为typescript x1c 0d1x中的数组
我可以很容易地通过

cy.get("#myGrid").find('.ag-header-cell').invoke('text').then((text)=>{
var headArr:Array<String>;
headArr = text.trim()
})

但这不是创建一个数组,我还想知道如何返回这个数组并将其赋值给一个变量

pgvzfuti

pgvzfuti1#

第一部分cy.get("#myGrid").find('.ag-header-cell')将为您提供顶部(标题)行中的所有单元格。
如果你对元素集合执行.invoke('text'),你会得到字符串中的所有文本,它们之间有不同长度的空格,很难知道在哪里分割成数组元素。
相反,您可以将元素集合作为数组获取,并通过.map()函数(不是Cypress命令,它是Javascript的内置命令)对每个元素调用text()
当然,您可能知道,Cypress使用aliases来存储变量,因此只需.wrap()该文本数组并创建一个别名变量。

cy.get("#myGrid").find('.ag-header-cell')
  .then(headerElements => {

    const headerArray = Array.from(headerElements);
    const headerTexts = headerArray.map(header => header.invoke('text'))
    cy.wrap(headerTexts).as('headerTexts)
  })

...

// using my array alias variable
cy.get('@headerTexts').then(headerTexts => {
  ...       
})

相关问题