Kapitel 5. Tests mit mehreren Dokumenten

Mehrere Dokument gleichzeitig in einem Test

Eine Validierung kann sich auf mehrere Dokumente gleichzeitig beziehen, wie das nächste Beispiel zeigt. Ein solcher Test bricht mit dem ersten gefunden Fehler ab.

<testcase name="textInMultipleDocuments">
  <assertThatEachDocument>
    <pdf name="multipleDocuments/document_en.pdf" />
    <pdf name="multipleDocuments/document_es.pdf" />
    <pdf name="multipleDocuments/document_de.pdf" />
    <hasText on="FIRST_PAGE" >
      <containing>28.09.2014</containing>
      <containing>XX-123</containing>
    </hasText>
  </assertThatEachDocument>
</testcase>

Die Testdokumente können auch als URL angegeben werden:

<testcase name="textInMultipleDocuments_AsURL">
  <assertThatEachDocument>
    <pdf name="http://localhost/.../document_en.pdf" isURL="YES" />
    <pdf name="http://localhost/.../document_es.pdf" isURL="YES" />
    <pdf name="http://localhost/.../document_de.pdf" isURL="YES" />
    <hasText on="FIRST_PAGE" >
      <containing>28.09.2014</containing>
      <containing>XX-123</containing>
    </hasText>
  </assertThatEachDocument>
</testcase>

Für die Mengen-Tests stehen fast alle Test-Tags zur Verfügung, die auch für Tests mit einzelnen PDF-Dokumenten existieren. Die folgende Liste zeigt die verfügbaren Tags. Ein Link hinter jedem Tag verweist auf die Beschreibung des jeweiligen Tests.

<!-- Tags to validate a set of PDF documents:  -->

<containsImage />                3.6: „Bilder in Dokumenten“ 

<hasAuthor />                    3.8: „Dokumenteneigenschaften“ 
<hasBookmark />                  3.17: „Lesezeichen (Bookmarks) und Sprungziele“ 
<hasBookmarks />                 3.17: „Lesezeichen (Bookmarks) und Sprungziele“ 
<hasCreationDate />              3.7: „Datum“ 
<hasCreationDateAfter />         3.7: „Datum“ 
<hasCreationDateBefore />        3.7: „Datum“ 
<hasCreator />                   3.7: „Datum“ 

<hasEmbeddedFile />              3.3: „Anhänge (Attachments)“ 
<hasEmbeddedFileContent />       3.3: „Anhänge (Attachments)“ 
<hasEncryptionLength />          3.18: „Passwort“ 
<hasField />                     3.11: „Formularfelder“ 
<hasFields />                    3.11: „Formularfelder“ 
<hasFont />                      3.19: „Schriften“ 
<hasFonts />                     3.19: „Schriften“ 
<hasFormat />                    3.10: „Format“ 
<hasJavaScript />                3.13: „JavaScript“ 
<hasKeywords />                  3.8: „Dokumenteneigenschaften“ 
<hasLayer />                     3.14: „Layer“ 
<hasLayers />                    3.14: „Layer“ 
<hasLessPages />                 3.20: „Seitenzahlen als Testziel“ 
<hasLocale />                    3.22: „Sprachinformation (Language)“ 
<hasModificationDate />          3.7: „Datum“ 
<hasModificationDateAfter />     3.7: „Datum“ 
<hasModificationDateBefore />    3.7: „Datum“ 
<hasMorePages />                 3.20: „Seitenzahlen als Testziel“ 

...  continued
... continuation:

<hasNoAuthor />                  3.8: „Dokumenteneigenschaften“ 
<hasNoCreationDate />            3.7: „Datum“ 
<hasNoCreator />                 3.8: „Dokumenteneigenschaften“ 
<hasNoKeywords />                3.8: „Dokumenteneigenschaften“ 
<hasNoLocale />                  3.22: „Sprachinformation (Language)“ 
<hasNoModificationDate />        3.7: „Datum“ 
<hasNoProducer />                3.8: „Dokumenteneigenschaften“ 
<hasNoProperty />                3.8: „Dokumenteneigenschaften“ 
<hasNoSubject />                 3.8: „Dokumenteneigenschaften“ 
<hasNoText />                    3.23: „Texte“ 
<hasNoTitle />                   3.8: „Dokumenteneigenschaften“ 
<hasNoXFAData />                 3.29: „XFA Daten“ 
<hasNoXMPData />                 3.30: „XMP-Daten“ 

<hasOwnerPassword />             3.18: „Passwort“ 
<hasPermission />                3.5: „Berechtigungen“ 
<hasProducer />                  3.8: „Dokumenteneigenschaften“ 
<hasProperty />                  3.8: „Dokumenteneigenschaften“ 
<hasSignature />                 3.21: „Signaturen und Zertifikate“ 
<hasSignatures />                3.21: „Signaturen und Zertifikate“ 
<hasSignedSignatureFields />     3.21: „Signaturen und Zertifikate“ 
<hasSubject />                   3.8: „Dokumenteneigenschaften“ 
<hasText />                      3.23: „Texte“ 
<hasTitle />                     3.8: „Dokumenteneigenschaften“ 
<hasTrappingInfo />              3.27: „Trapping-Info“ 
<hasUnsignedSignatureFields />   3.21: „Signaturen und Zertifikate“ 
<hasVersion />                   3.28: „Version“ 
<hasXFAData />                   3.29: „XFA Daten“ 
<hasXMPData />                   3.30: „XMP-Daten“ 

<isCertified />                  3.31: „Zertifiziertes PDF“ 
<isLinearizedForFastWebView />   3.9: „Fast Web View“ 
<isSigned />                     3.21: „Signaturen und Zertifikate“ 
<isTagged />                     3.26: „Tagging“ 

...  (end of list)

Wünschen Sie weitere Tests, schreiben Sie Ihren Wunsch an info[at]pdfunit.com.