#javascript #cypress
#javascript #cypress
Вопрос:
Я пытаюсь преобразовать значения из XLSX-файла в JSON-файл в Cypress test.
Я точно скопировал код из этого блога, но когда я нажал на строку ниже:
console.log(jsonData[index].data)
Я получаю это сообщение об ошибке:
Не удается прочитать свойства неопределенного (чтение ‘1’)
Вот код в моем spec.js
файле:
describe('convert data to Json', () => {
it('read data from xcel', () => {
cy.parseXlsx('cypress/fixtures/excelData.xlsx').then((jsonData) => {
const rowLength = Cypress.$(jsonData[0].data).length
for (let index = 0; index < rowLength; index ) {
var jsonData = jsonData[index].data
console.log(jsonData[index].data)
cy.writeFile("cypress/fixtures/xlsxData.json", { username: jsonData[0][0], password: jsonData[0][1] })
}
})
})
})
И вот где определена моя parseXlsx
функция:
Plguins/index.js:
const xlsx = require('node-xlsx').default;
const fs = require('fs'); // for file
const path = require('path'); // for file path
module.exports = (on, config) => {
on('task', {
parseXlsx({ filePath }) {
return new Promise((resolve, reject) => {
try {
const jsonData = xlsx.parse(fs.readFileSync(filePath));
resolve(jsonData);
} catch (e) {
reject(e);
}
});
}
});
}
Мой cypress/fixtures/excelData.xlsx
файл выглядит так:
ИМЯ ПОЛЬЗОВАТЕЛЯ ПАРОЛЬ
Имя пользователя 1 Пароль 1
Имя пользователя 2 Пароль 2
Может кто-нибудь, пожалуйста, скажите мне, как устранить эту ошибку?
Ответ №1:
Мне удалось найти решение:
describe('convert data to Json', () => {
it('read data from xcel', () => {
cy.parseXlsx('cypress/fixtures/excelData.xlsx').then((jsonData) => {
const rowLength = Cypress.$(jsonData[0].data).length
for (let i = 0; i < rowLength; i ) {
cy.log('Username: ' jsonData[0].data[i][0]);
cy.log('Password: ' jsonData[0].data[i][1]);
cy.writeFile("cypress/fixtures/xlsxData.json", { usernameValue: jsonData[0].data[i][0], passwordValue: jsonData[0].data[i][1] })
}
})
})
})