首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Excel的Cypress数据驱动测试

基于Excel的Cypress数据驱动测试
EN

Stack Overflow用户
提问于 2021-12-14 14:07:50
回答 1查看 945关注 0票数 0

我跟随本教程用Cypress从Excel文件中读取测试数据。本教程非常棒,并充分解释了一切。还有一个带有代码的git归档文件。

我面临的错误与TypeScript有关。我在我的柏树项目中使用TS。本期截图:

代码语言:javascript
运行
复制
let rowsLenght;


describe('The example shows how to use Data Driven Testing using Excel file.', () => {
    before(() => {
        cy.task('readXlsx', { file: 'cypress/fixtures/excelData.xlsx', sheet: "Sheet1" }).then((rows) => {
            rowsLenght = rows.length;
            cy.writeFile("cypress/fixtures/xlsxData.json", { rows })
        })
        cy.visit(Cypress.config('baseUrl'));
    })


    it("example shows how to use data from Excel file.", () => {
        cy.fixture('xlsxData').then((data) => {
            for (let i = 0; i < rowsLenght; i++) {
                cy.get('#username').type(data.rows[i].testData1);
            }
        })
    });
});

当我试着执行测试时-一切正常。

如果我将文件扩展名从"ts“重命名为"js”,错误就消失了。

EN

回答 1

Stack Overflow用户

发布于 2021-12-14 19:48:51

我找到了两个解决方案。

  1. 第一个解决方案是使用// @ts-ignore注释,忽略编译器警报。

代码语言:javascript
运行
复制
let rowsLength;

describe('The example shows how to use Data Driven Testing using Excel file.', () => {
    before(() => {
        cy.task('readXlsx', { file: 'cypress/fixtures/excelData.xlsx', sheet: "Sheet1" }).then((rows) => {
            // @ts-ignore
            rowsLength = rows.length;
            cy.writeFile("cypress/fixtures/xlsxData.json", { rows })
        })
        cy.visit(Cypress.config('baseUrl'));
    })


    it("example shows how to use data from Excel file.", () => {
        cy.fixture('xlsxData').then((data) => {
            for (let i = 0; i < rowsLenght; i++) {
                cy.get('#username').type(data.rows[i].testData1);
            }
        })
    });
});
  1. 第二个解决方案是将变量转换为any,因为变量“未知”。

代码语言:javascript
运行
复制
let rowsLength:

describe('The example shows how to use Data Driven Testing using Excel file.', () => {
    before(() => {
        cy.task('readXlsx', { file: 'cypress/fixtures/excelData.xlsx', sheet: "Sheet1" }).then((rows: any) => {
            rowsLength = rows.length;
            cy.writeFile("cypress/fixtures/xlsxData.json", { rows })
        })
        cy.visit(Cypress.config('baseUrl'));
    })


    it("example shows how to use data from Excel file.", () => {
        cy.fixture('xlsxData').then((data) => {
            for (let i = 0; i < rowsLenght; i++) {
                cy.get('#username').type(data.rows[i].testData1);
            }
        })
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70350264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档