Arrays 使用Cypress存储元素数组

Arrays 使用Cypress存储元素数组,arrays,cypress,Arrays,Cypress,我想使用cypress存储从页面获取的字符串数组 到目前为止,我已经: cy.get(".product-name").each(($el) => { let text = $el.text(); cy.request("POST", "http://localhost:3000/sale-items", { text }); cy.wait(1000); }); 正如你所看到的,我不得不对每一件物品提出单独的要求。但我想以某种方式存储整个数组,然后发出一个请求

我想使用cypress存储从页面获取的字符串数组

到目前为止,我已经:

cy.get(".product-name").each(($el) => {
  let text = $el.text();

  cy.request("POST", "http://localhost:3000/sale-items", {
    text
  });
  cy.wait(1000);
});
正如你所看到的,我不得不对每一件物品提出单独的要求。但我想以某种方式存储整个数组,然后发出一个请求

我读过书,但觉得离实现我想要的目标还差得远

如何存储使用Cypress命令生成的项目数组?

您可以使用
.then()
而不是
.each()
来检索归类为“product name”的所有元素。该参数是可转换为数组的iterable集合

参考号

cy.get(“.product name”)。然后($els)=>{
const text=Array.from($els,el=>el.innerText);
cy.request(“POST”http://localhost:3000/sale-项目“{
文本
});
cy.wait(1000);
});
cypress提供.each($elem,index,$list)方法来迭代每个 数组的元素


第一个问题,API主体是否可以支持数组作为Post主体,如果是的话,您是否有一个模式示例?如何在Typescript中实现相同的结果?@AshokkumarGanesan JavaScript是Typescript的一个子集,因此您可以使用与上面完全相同的代码是的,我就是这样做的!这也是最好的办法
cy.get(".product-name").each(($els, index, $list) => {
   // $list itself is collection of element
   // $elem is each element of array
   // index is postion of element in array
});