Итак, я пытаюсь записать некоторые данные из таблицы в CSV-файл.Это работает в большинстве случаев, но иногда записывает в файл только некоторые данные и выполняет тест.Поэтому мне было интересно, есть ли способ подождать, пока все данные не будут записаны в файл, и продолжить работу или что-то в этом роде.Вот мой пример кода:
async writeRecords(records: T[]): Promise<void> {
const headerString = !this.append && this.csvStringifier.getHeaderString();
const recordsString = this.csvStringifier.stringifyRecords(records);
const writeString = (headerString || '') + recordsString;
const option = this.getWriteOption();
await this.write(writeString, option);
this.append = true;
}Is there a way to wait until all the data has been written to a csv file in selenium (nodejs) before exiting the test?
WriteToCSV = async (filename, data) => {
if (!filename) {
await this.logger.Fail('Must provide a filename in order to save a CSV file');
}
const reportPath = await GetReportPath(filename, Strings.CSVExt);
const writer = createArrayCsvWriter({
path: reportPath,
});
await this.logging.Trace(`dataset=${data}`);
const formattedData = await this.FormatCSVData(data);
await this.logging.Trace(`formatted=${formattedData}`);
await writer.writeRecords(formattedData);
};