activities
latest
false
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde.
UiPath logo, featuring letters U and I in white
Workflow-Aktivitäten
Last updated 18. Nov. 2024

VerifyDocumentsÄquivalenz

Überprüft, ob zwei Dokumente gleichwertig sind, indem mehrere Vergleichsoptionen verwendet werden, einschließlich der folgenden Vergleichstypen:
  • Vergleichen von Wörtern.
  • Vergleichen von Zeilen.
  • Vergleichen von Zeichen als char -Variablen.
Hinweis: Der unterstützte Dokumenttyp ist PDF.

Definition

Namespace: UiPath.Testing.API

Assembly: UiPath.Testing.Activities.Api (in UiPath.Testing.Activities.Api.dll)

VerifyDocumentsEquivalence(string, string, ComparisonType, CompareDocumentsOptions)

ComparisonResult VerifyDocumentsEquivalence(
    string baselinePath,
    string targetPath,
    [ComparisonType comparisonType],
    [CompareDocumentsOptions opts])ComparisonResult VerifyDocumentsEquivalence(
    string baselinePath,
    string targetPath,
    [ComparisonType comparisonType],
    [CompareDocumentsOptions opts])
baselinePath String
Der Pfad des Basisdokuments, das als Referenz zum Vergleichen verwendet wird.
targetPath String
Der Pfad des Dokuments, der mit dem Basisdokument verglichen wird.
comparisonType ComparisonType (Optional)
Der Vergleichstyp, der beim Vergleichen von Dokumenten verwendet werden soll. Die folgenden Optionen sind verfügbar:
  • ComparisonType.Char: Vergleicht jedes Zeichen (char) in den Dokumenten.
  • ComparisonType.Line: Vergleicht jede Zeile in den Dokumenten.
  • ComparisonType.Word: Vergleicht jedes Wort in den Dokumenten.
Optionen CompareDocumentsOptions
Die spezifischen Vergleichsoptionen, die für diesen Vorgang verwendet werden sollen. Um ein Objekt vom Typ CompareDocumentsOptions zu erstellen, verwenden Sie die Klasse TestingOptions.CompareDocuments.

Rückgabewert

ComparisonResult

Das Ergebnis der Vergleichsaktion, das in einer ComparisonResult-Variablen gespeichert wird.

Beispiele

  1. Vergleichen von PDF-Dokumenten nach Zeichen:
    In diesem Beispiel vergleichen wir zwei PDF-Dateien, eine Stromrechnung und eine Wasserrechnung. Der Vergleich erfolgt auf Zeichenebene. Die Pfade dieser PDF-Dateien werden durch die Variablen firstBill und secondBill dargestellt. Die Platzhalterregel und die Regel für reguläre Ausdrücke, die zusammen mit den Methoden WithIgnoreWildcardRule und WithIgnoreRegexRule bereitgestellt werden, werden verwendet, um bestimmte Muster im Vergleich zu ignorieren. Beispielsweise ignorieren die Platzhalterregel 2022 und die Regex-Regel \d{1,2}/\d{1,2}/\d{4} Daten (vorausgesetzt, sie sind im Format MM/TT/JJJJ) bei dem Vergleich, da sie in zwei separaten Rechnungen unterschiedlich sein können und für die Struktur der Rechnungen nicht relevant sind.
    Sobald der Vergleich abgeschlossen ist, erstellt die WithGenerateHtml-Methode einen HTML-Bericht des Vergleichs und alle gefundenen Unterschiede werden in den Protokollen mit der Methode Log aufgezeichnet.
    var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var identicalCharCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Character, 
        TestingOptions.CompareDocuments()
            .WithGenerateHtml(@".\HtmlCompareResults\PDFCharCompare.html")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"\d{1,2}/\d{1,2}/\d{4}", true)
    );
    
    Log("pdf compare by char " + identicalCharCompareResult.AreEquivalent.ToString(),LogLevel.Error);var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var identicalCharCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Character, 
        TestingOptions.CompareDocuments()
            .WithGenerateHtml(@".\HtmlCompareResults\PDFCharCompare.html")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"\d{1,2}/\d{1,2}/\d{4}", true)
    );
    
    Log("pdf compare by char " + identicalCharCompareResult.AreEquivalent.ToString(),LogLevel.Error);
    
  2. Vergleichen von PDFs nach Wort:
    In diesem Beispiel vergleichen wir dieselben PDF-Dateien wie im vorherigen Beispiel: eine Stromrechnung und eine Wasserrechnung. Der Vergleich erfolgt auf Wortebene. Die Pfade dieser PDF-Dateien werden durch die Variablen firstBill und secondBill dargestellt. Die Platzhalterregel und die Regel für reguläre Ausdrücke, die zusammen mit den Methoden WithIgnoreWildcardRule und WithIgnoreRegexRule bereitgestellt werden, werden verwendet, um bestimmte Muster im Vergleich zu ignorieren. Beispielsweise ignoriert die Platzhalterregel 2022 Daten (vorausgesetzt, sie sind im Format MM/TT/JJJJ) im Vergleich, da sie sich in zwei separaten Rechnungen unterscheiden können und für die Struktur der Rechnungen nicht relevant sind. Die Regel für reguläre Ausdrücke [$]\d+\.\d{2} ignoriert Währungswerte und geht davon aus, dass sie ein ähnliches Format wie $XX.XX haben.
    Sobald der Vergleich abgeschlossen ist, erstellt die WithGenerateHtml-Methode einen HTML-Bericht des Vergleichs und alle gefundenen Unterschiede werden in den Protokollen mit der Methode Log aufgezeichnet.
    var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var differentWordCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Word, 
        TestingOptions.CompareDocuments()
            .WithGenerateHtml(@".\HtmlCompareResults\PDFWordCompareDiff.html")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"[$]\d+\.\d{2}", true)
    );
    
    Log("pdf compare by Word " + differentWordCompareResult.AreEquivalent.ToString(), LogLevel.Error);var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var differentWordCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Word, 
        TestingOptions.CompareDocuments()
            .WithGenerateHtml(@".\HtmlCompareResults\PDFWordCompareDiff.html")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"[$]\d+\.\d{2}", true)
    );
    
    Log("pdf compare by Word " + differentWordCompareResult.AreEquivalent.ToString(), LogLevel.Error);
    
  3. Vergleichen von PDFs nach Zeile:
    In diesem Beispiel vergleichen wir, ähnlich wie im vorherigen, zwei PDF-Dateien, eine Stromrechnung und eine Wasserrechnung. In diesem Szenario erfolgt der Vergleich auf Zeilenebene. Die Pfade dieser PDF-Dateien werden durch die Variablen firstBill und secondBill dargestellt. Die Platzhalterregel und die Regel für reguläre Ausdrücke, die zusammen mit den Methoden WithIgnoreWildcardRule und WithIgnoreRegexRule bereitgestellt werden, werden verwendet, um bestimmte Muster im Vergleich zu ignorieren.
    Beispielsweise ignoriert die Platzhalterregel 2022 Daten (vorausgesetzt, sie sind im Format MM/TT/JJJJ) im Vergleich, da sie sich in zwei separaten Rechnungen unterscheiden können und für die Struktur der Rechnungen nicht relevant sind. Die Regel für reguläre Ausdrücke [$]\d+\.\d{2} ignoriert Währungswerte und geht davon aus, dass sie ein ähnliches Format wie $XX.XX haben.
    Sobald der Vergleich abgeschlossen ist, erstellt die WithGenerateHtml-Methode einen HTML-Bericht des Vergleichs und alle gefundenen Unterschiede werden in den Protokollen mit der Methode Log aufgezeichnet.
    var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var largeLineCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Line, 
        TestingOptions.CompareDocuments()
            .WithGeneratePdf(@".\PDFCompareResults",@".\PDFCompareResults")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"[$]\d+\.\d{2}", true)
    );
    
    Log("Pdf compare by line " + largeLineCompareResult.AreEquivalent.ToString(), LogLevel.Error);var firstBill = @"C:\bills\2024.10\pdfs for compare\(electricity_bill.pdf";
    var secondBill = @"C:\bills\2024.10\pdfs for compare\(water_bill.pdf";
    
    var largeLineCompareResult = testing.VerifyDocumentsEquivalence(
        firstBill, secondBill, 
        ComparisonType.Line, 
        TestingOptions.CompareDocuments()
            .WithGeneratePdf(@".\PDFCompareResults",@".\PDFCompareResults")
            .WithIgnoreWildcardRule("WildcardRule", "*2022*", true)
            .WithIgnoreRegexRule("RegexRule", @"[$]\d+\.\d{2}", true)
    );
    
    Log("Pdf compare by line " + largeLineCompareResult.AreEquivalent.ToString(), LogLevel.Error);
    
In allen Beispielen gibt die Eigenschaft AreEquivalent zurück, ob die Dokumente gleich sind oder nicht.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten