4.5. Bilder vergleichen

Anzahl

Soll die Anzahl der Bilder verglichen werden, sieht der Test so aus:

<testcase name="haveSameNumberImages">
  <assertThat testDocument="test/test.pdf"
              masterDocument="master/master.pdf"
  >
    <haveSameNumberOfImages />
  </assertThat>
</testcase>

Der Vergleich der Anzahl der Bilder kann auf ausgewählte Seiten eingeschränkt werden:

<testcase name="haveSameNumberOfImages_OnPage2">
  <assertThat testDocument="test/test.pdf"
              masterDocument="master/master.pdf"
  >
    <haveSameNumberOfImages onPage="2"/>
  </assertThat>
</testcase>

Die Möglichkeiten der Seitenauswahl sind in Kapitel 13.2: „Seitenauswahl“ beschrieben.

Bildinhalte

Die in einem Dokument enthaltenen Bilder können mit denen eines Master-PDF verglichen werden. Bilder zweier Dokumente gelten als gleich, wenn sie byte-weise identisch sind:

<!--
  The tag <haveSameImages /> does not consider the order of the images.
-->

<testcase name="haveSameImages">
  <assertThat testDocument="test/test.pdf"
              masterDocument="master/master.pdf"
  >
    <haveSameImages />
  </assertThat>
</testcase>

Bei diesem Vergleich bleibt unberücksichtigt, auf welchen Seiten die Bilder vorkommen, und auch, wie häufig ein Bild im Dokument verwendet wird.

Wenn aber Bilder auf bestimmten Seiten gleich sein sollen, müssen die Seiten als Parameter mitgegeben werden:

<testcase name="haveSameImages_OnPage2">
  <assertThat testDocument="test/test.pdf"
              masterDocument="master/master.pdf"
  >
    <haveSameImages onPage="2"/>            1
  </assertThat>
</testcase>
<testcase name="haveSameImages_BeforePage2">
  <assertThat testDocument="test/test.pdf"
              masterDocument="master/master.pdf"
  >
    <haveSameImages onEveryPageBefore="2"/> 1
  </assertThat>
</testcase>

1 1

Die Reihenfolge der Bilder spielt für den Vergleich keine Rolle.

Bei etwaigen Unklarheiten über die im PDF enthaltenen Bilder können alle Bilder eines PDF-Dokumentes mit dem Hilfsprogramm ExtractImages extrahiert werden. Siehe Kapitel 9.3: „Bilder aus PDF extrahieren“.