Es mag ungewöhnlich erscheinen, Validierungsregeln in Excel abzulegen und diese in automatisierten Test zu verwenden. Der Grund, es dennoch zu tun, ist aber, auch Nicht-Programmierer in die Lage zu versetzen, PDF-Dokumente zu testen oder zumindestens die Tests zu erfassen, die dann mit Hilfe von Entwicklern ausgeführt werden.
Die Excel-Dateien können übrigens unverändert auch innerhalb des PDFUnit-Monitors verwendet werden, der ebenfalls für die Zielgruppe der Nicht-Programmierer gebaut wurde. Für den Monitor existiert eine separate Dokumentation unter http://www.pdfunit.com/de/download/index.html. zur Verfügung. Eine kurze Beschreibung liefert aber auch Kapitel 8: „PDFUnit-Monitor“.
Eine detailierte Beschreibung des Aufbaus einer Excel-Datei und über die über diesen Weg verfügbare Funktionalität, liefert Kapitel 10: „Validierungsregeln in Excel-Dateien“. Lesen Sie das Kapitel ruhig später. Für das Verständnis, wie solche Excel-Dateien in programmierten Tests eingebunden werden, sind keine Kenntnisse über den Aufbau der Excel-Datei notwendig.
Es gibt nur eine Methode, mit der Excel-Dateien in Tests eingebunden werden:
// Validation method, using Excel-based constraints: .compliesWith().constraints(excelRules)
Diese Methode kann auf ein PDF-Dokument, mehrere Dokumente oder alle Dokumente in einem Verzeichnis angewendet werden:
// Validation of one, many or all PDF documents: AssertThat.document(filename) .compliesWith() .constraints(excelRules) AssertThat.eachDocument() .inFolder(folder) .compliesWith() .constraints(excelRules) AssertThat.eachDocument(files) .compliesWith() .constraints(excelRules)
Im folgenden Beispiel wird eine PDF-Datei gegen die Regeln von DIN 5008 geprüft, deren unternehmensspezifische Umsetzung in der Excel-Datei 'din5008-formA_letter-portrait.xls' liegen:
@Test public void singleDocumentCompliesWithExcelRules() throws Exception { String filename = "documentUnderTest.pdf"; String rulesAsExcelFile = PATH_TO_RULES + "din5008-formA_letter-portrait.xls"; PDFValidationConstraints excelRules = new PDFValidationConstraints(rulesAsExcelFile); AssertThat.document(filename) .compliesWith() .constraints(excelRules) ; }
In einer Fehlermeldung erscheinen alle Verstöße gegen die definierten Regeln. Ein Test bricht also nicht mit dem ersten Regelverstoß ab.
Der Aufbau der Excel-Datei wird in Kapitel 10: „Validierungsregeln in Excel-Dateien“ beschrieben.