3.30. Texte - in Seitenausschnitten

Überblick

Es gibt die Situation, dass sich ein bestimmter Text mehrmals auf einer Seite befindet, aber nur eine der Stellen im Test benutzt werden soll. Für diese Anforderung kann der Suchbereich auf einen Teil einer Seite beschränkt werden. Die Syntax dazu ist einfach:

// Reducing the validation to a page region:
.restrictedTo(PageRegion)
// The following validations are limited to the regions.

Beispiel

Das folgende Beispiel zeigt die Definition und Benutzung eines Seitenausschnitts:

@Test
public void hasTextOnFirstPageInPageRegion() throws Exception {
  String filename = "documentUnderTest.pdf";
  
  int leftX  =  17;  // in millimeter
  int upperY =  45;
  int width  =  60;
  int height =   9; 
  PageRegion pageRegion = new PageRegion(leftX, upperY, width, height);
  
  AssertThat.document(filename)
            .restrictedTo(FIRST_PAGE)
            .restrictedTo(pageRegion)
            .hasText()
            .startingWith("Content")  
            .containing("on first") 
            .endingWith("page.")
  ;
}

Für Vergleiche von Text in Seitenausschnitten stehen alle Vergleichsmethoden zur Verfügung, die auch für ganze PDF-Seiten zur Verfügung stehen. Sie sind in Abschnitt 13.4: „Textvergleich“ ausführlich beschrieben.

Die Einschränkung eines Vergleiches auf einen Ausschnitt einer Seite ist sowohl für Text, als auch für Bilder möglich.