Есть ли способ подождать, пока все данные будут записаны в csv-файл в selenium (nodejs), прежде чем выйти из теста? - PullRequest
0 голосов
/ 22 июня 2019

Итак, я пытаюсь записать некоторые данные из таблицы в 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);
};

1 Ответ

0 голосов
/ 22 июня 2019

Поправьте меня, если я ошибаюсь, но как насчет использования with open (filename) или чего-то подобного?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...