我在 command.js 中创建的函数在 Cucumber 步骤定义中不起作用。然而,另一个带有简单返回值的函数在同一个步骤定义中起作用。
命令.js
Cypress.Commands.add('excelData', async () => {
const ExcelJs = require('exceljs')
var columnArray = [];
var workbook = new ExcelJs.Workbook()
await workbook.xlsx.readFile('E:/Automations/Cypress/FrameworkToCucumberSpecFlow/cypress/downloads/exceldata.xlsx')
var worksheet = workbook.getWorksheet('sampledatab')
worksheet.eachRow((row) => {
row.eachCell((cell) => {
columnArray.push(cell.value)
})
})
columnArray.splice(0, 1)
return cy.wrap(columnArray)
})
Cypress.Commands.add('TestCommandsJS', () => {
return 'TestCommandsJS works'
})
步骤定义
When('I compare that list with the Excel specification sheet list', () => {
cy.excelData().then(data => { //this does not work
cy.log(data)
})
cy.TestCommandsJS().then(data => { //this work fine
cy.log(data)
})
})
任何帮助均感激不尽。