我试图通过从PDF中提取文本来断言PDF,然后检查我想要的文本是否存在于所提取的文本中。
代码正确地提取PDF。问题是,不管PDF提取的文本是否包含我的文本,断言都会传递。
我不知道为什么会失败。
public static boolean verifyPDFContent(String reqTextInPDF) throws IOException{
PDDocument doc = PDDocument.load(new File("User/download/test.pdf"));
PDFTextStripper pdfStripper = new PDFTextStripper();
String text = pdfStripper.getText(doc);
doc.close();
System.out.println(text);
Assert.assertTrue (text.equals (reqTextInPDF));
return text.contains(reqTextInPDF);
}我要求它通过:
@Then("^I should verify$")
public void iShouldVerify() throws Throwable {
export_inspections.verifyPDFContent("z" );
}发布于 2018-06-28 07:38:23
你可以这样做:
String pdf = "some text contains z inside";
String pdf2 = "some text not contains inside";
System.out.println(pdf.contains("z")); // returns true
System.out.println(pdf2.contains("z")); // returns false所以,您所需要的就是断言语句是否返回如下所示的true:
Assert.assertTrue("The pdf doesn't contain needed text", text.contains(reqTextInPDF));https://stackoverflow.com/questions/51073324
复制相似问题