无法使用Selenium / Java断言是否存在文本

时间:2018-06-28 01:02:04

标签: java selenium selenium-webdriver testng

我试图通过从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" );
    }

1 个答案:

答案 0 :(得分:1)

您可以这样做:

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));