I Differenz zwischen zwei CSV-Dateien vergleichen möchte Roboter Rahmen .Test Fall mit fehlschlagen sollte, wenn es Unterschied ist und passieren, wenn es keine difference.I ist DiffLibrary in Robot Framework versucht hat, aber gibt den Pass-Status zurück, wenn die Datensätze nicht sortiert sind. Kann mir jemand zeigen, wie dies erreicht werden kann oder ob es einen alternativen Weg gibt, dies zu tun?Wie vergleichen zwei CSV-Dateien Robot Framework
Meine first.csv Datei mit Daten wie unter
Benchmark Name,Policy Name,No of Rules,Policy Measurement SLO,Policy Remediation SLO,No of Rules Compliant in MSLO,No of Rules Non-Compliant in RSLO,No of Rules Non-Compliant OUT RSLO
CIS Red Hat Enterprise Linux 6 Benchmark v1.0.0,PCI,281,1 MONTHS,1 MONTHS,150,130
CIS Red Hat Enterprise Linux 7 Benchmark v1.2.0,PCI,281,5 MONTHS,1 MONTHS,150,137
CIS Red Hat Enterprise Linux 7 Benchmark v1.5.0,PCI,281,1 MONTHS,1 MONTHS,150,135
Und meine second.csv Datei wird wie Daten, die unter
Benchmark Name,Policy Name,No of Rules,Policy Measurement SLO,Policy Remediation SLO,No of Rules Compliant in MSLO,No of Rules Non-Compliant in RSLO,No of Rules Non-Compliant OUT RSLO
CIS Red Hat Enterprise Linux 7 Benchmark v1.2.0,PCI,281,5 MONTHS,1 MONTHS,150,137
CIS Red Hat Enterprise Linux 6 Benchmark v1.0.0,PCI,281,1 MONTHS,1 MONTHS,150,130
CIS Red Hat Enterprise Linux 7 Benchmark v1.5.0,PCI,281,1 MONTHS,1 MONTHS,150,135
Robot-Code ist unter
*** Settings ***
Library DiffLibrary
Library OperatingSystem
*** Test Cases ***
Diffing two files one being different
Run Keyword And Expect Error differences* Diff Files first.csv second.csv
Hallo Lubos, Vielen Dank für Ihre Antwort. Wird es dasselbe Ergebnis geben, selbst wenn die Zeilen nicht sortiert sind? – Madhu
Nein, weil die gesamte Datei als eine einzelne Zeichenfolge betrachtet werden würde und jede Änderung der Zeilenreihenfolge würde es ungleich machen. –
Wenn Sie kümmern sich nicht um Linien folgenden nur bestelle: $ {CSVA} = Datei $ {filePathA} $ {CSVA} = Split Linien $ {CSVA} $ {csvB} = Get File $ Get {filePathB } $ {csvB} = Auf Zeilen aufteilen $ {csvB} Liste sortieren $ {csvA} Liste sortieren $ {csvB} sollte gleich sein wie Strings $ {csvA} $ {csvB} – Lubos