使用Cypess使用声明的变量编写HTML文件

70gysomp  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(101)

我正在编写一个脚本,用于在Shutterstock中搜索给定搜索数据的任何图像。我已经制作了一个最小的可重复示例,用于打开第一个找到的图像。我的目的是打开一些找到的图像并从其页面中获取一些数据(比如图像名称)。
在整个测试过程中,我需要收集不同图像的这些名称到任何类型的数组中,然后将它们写入HTML文件。下面是代码。我是HTML的绝对初学者,所以可能解决方案非常明显。我不明白如何在HTML代码中使用以前声明的变量,这些变量是硬编码的并传递给cy.writeFile()函数,或者可能有其他解决方案?

describe('htmlTest', () => {
  it('htmlTest', () => {
    cy.visit('https://www.shutterstock.com');
    // Accept cookies if there's a popup
    cy.get('body').then(($parent) => {
      if ($parent.find('.ot-sdk-row').length > 0) {
        cy.get('#onetrust-accept-btn-handler').click();
      }
    });
    //Type in search data
    cy.get('.MuiFormControl-root > .MuiInputBase-root')
      .click()
      .type('3d character');
    cy.get('.mui-ukg7ay-searchBarButtons > .MuiButtonBase-root').click();
    cy.wait(5000);
    cy.get('[data-automation="AssetGrids_GridItemContainer_div"]')
      .first()
      .children()
      .eq(0)
      .invoke('attr', 'href')
      .then(($assetUrl) => {
        var link = Cypress.config('baseUrl') + $assetUrl;
        cy.visit(link);
      });

    cy.get('.MuiTypography-root MuiTypography-body1 mui-t63b03-bold').then(
      (label) => {
        const assetName = label.text(); // The name of opened image
        cy.writeFile('cypress/report/test.html', '<div>hello</div>');
      }
    );
  });
});
ff29svar

ff29svar1#

这就是你想要的吗?

cy.get('.MuiTypography-root MuiTypography-body1 mui-t63b03-bold').then(
      (label) => {
        const assetName = label.text(); // The name of opened image
        cy.writeFile('cypress/report/test.html', `<div>The name of the opened image is ${assetName}.</div>`);
      }
    );

相关问题