簡體   English   中英

如何使用賽普拉斯從 fixtures.CSV 文件中刪除回車符(換行符)

[英]How to remove carriage return characters (for new lines) from a fixtures .CSV file using Cypress

在我的 Cypress 測試中,我從網站導入一些數據並嘗試從 fixtures CSV 文件中讀取數據以進行比較。

下面是我的 fixtures/sda_ergebnisstatistik_export/Ergebnisstatistik_5Werkstückträger_Export.csv 的數據固定裝置 CSV 文件

我希望斷言通過,同時將 downloads 文件夾中的 csv 數據與 fixtures 文件夾中的 csv 數據進行比較。

這是我最新的代碼,它讀取下載文件夾中的 csv 數據,並使用 fixtures 文件夾中的 CSV 文件數據對其進行驗證: 來自 Visual Studio Code IDE 的代碼片段

const grouplist = [' TYP ', ' PRÜFSTAND ', ' TYP/PRÜFSTAND ', ' PRÜFSTAND/TYP ', ' WERKSTÜCKTRÄGER NUMMER ']
it('Ergebnisstatistik - check export for grouplist - Werkstückträger 🏇', function() {
  cy.log('Export the Werkstückträger Nummer table into EXCEL');
  const dayjs = require('dayjs');

  cy.get('button.icon-btn_statistik').should('be.visible').click();
  cy.contains('div>div.option', grouplist[4]).should('be.visible').click();
  cy.wait(500);
  cy.get('.icon-table').click();
  sdi.waitForTable();
  cy.get('.icon-export-table').click();
  cy.readFile(`${Cypress.config('downloadsFolder')}/Ergebnisstatistik ` +
    dayjs().format('YYYY-MM-DD') + '.csv', 'utf-8', 

{timeout: 15000}).then((downloadCsv) => { expect(downloadCsv).to.be.a('string') cy.readFile( ${Cypress.config('fixturesFolder')}/sda_ergebnisstatistik_export/Ergebnisstatistik_5Werkstückträger_Export.csv , 'utf-8', {timeout: 15000}).then((fixturesCsv) => { expect(downloadCsv.trim()).to.eq(fixturesCsv.replace('\r\n', '\n ')。修剪()); }); }); });

但斷言是失敗的。 Cypress Test Runner 的測試結果

fixtures 文件中的字符串具有來自 windows 操作系統的換行符/carraige 控件(“\r\n”),而來自 downloads->csv 文件的字符串包含來自 Linux/Unix 操作系統的換行符(“\n”)。 我想從文本(fixturesCsv)的每一行中刪除 carraige return \r。 所以我用了.replace('\r\n','\n')。 但是對於所有行,它都沒有按預期工作。 事實上,對於第一行,它會按預期被替換,但對於其余行則不會。 任何解決此問題的幫助,將不勝感激。 提前致謝。

您需要將替換表達式設為全局(所有實例)。 尾隨的g將選項設置為全局。

fixturesCsv.replace(/\r\n/g, '\n').trim()   

該步驟的示例在這里正則表達式用逗號替換所有換行符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM