如何在Cypress中循环读取JSON数据并逐个打印name字段值
前置准备:修正JSON格式
你提供的示例是JavaScript对象数组写法,不符合JSON语法规范,需要调整后保存为文件,建议存放在Cypress默认的测试资源目录 cypress/fixtures/items.json,调整后的标准JSON内容如下:
[ { "name": "Data Groups" }, { "name": "Transaction start Filter" }, { "name": "Filter" }, { "name": "Graph, Tables" }, { "name": "Trending with filters" }, { "name": "Graph, area & Pie" } ]
实现代码
Cypress有两种常用的读取文件方式,二选一即可:
- 使用
cy.fixture(推荐,专门读取fixtures目录下的测试资源)
it('读取JSON并打印所有name字段', () => { cy.fixture('items.json').then(itemList => { // 遍历数组逐个打印 itemList.forEach((item, index) => { // 打印到Cypress测试运行界面的日志栏 cy.log(`索引${index}的name值:${item.name}`) // 如果需要打印到Node.js控制台,替换为下面的语句 // console.log(item.name) }) }) })
- 使用
cy.readFile(支持读取项目任意路径下的文件)
it('通用方式读取JSON并打印name', () => { // 路径为项目根目录的相对路径 cy.readFile('cypress/fixtures/items.json').then(itemList => { itemList.forEach(item => { cy.log(item.name) }) }) })
内容的提问来源于stack exchange,提问作者Mohammad Osama
相关产品推荐
相关产品推荐

