webdriver的URL中的通配符

时间:2015-07-30 14:41:57

标签: java url webdriver wildcard

嗨我的URL有一个小问题,我需要验证PDF文件,我必须先下载。我使用下面的代码:

    URL TestURL2 = new URL("file:///C:/Users/Ludek/Downloads/katalog_dokument_53766_test.pdf");
    BufferedInputStream TestFile = new BufferedInputStream(TestURL2.openStream());
    PDFParser TestPDF2 = new PDFParser(TestFile);
    TestPDF2.parse();
    String TestText2 = new PDFTextStripper().getText(TestPDF2.getPDDocument());
    try {
        assertTrue(TestText2.contains("Text PDF"));
        System.out.println("it's  OK");
    } catch (Error e) {
        verificationErrors.append(e.toString());
        System.out.println("not OK!!!");
    }

但文件名中的数字53766每次都不同。我可以使用一些通配符或其他东西吗? 有人可以告诉我吗?感谢

2 个答案:

答案 0 :(得分:1)

如果您的文件夹中只有一个文件 - 您的pdf,则可以使用与此类似的代码:

 string[] files = System.IO.Directory.GetFiles(@"C:/Users/Ludek/Downloads/", "*.pdf");

在下载过程之前,您始终可以删除文件夹中的所有文件,甚至始终指定一个唯一的下载文件夹,这样只有您的文件可以存在,并且您可以确定验证时。

答案 1 :(得分:0)

我使用这个解决方案,它很简单并且有效。

  File f = new File("C:/Users/Ludek/Downloads/");
        FilenameFilter textFilter = new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(".pdf");
            }
        };
        File[] files = f.listFiles(textFilter);
        for (File file : files) {
            String URL =  file.getCanonicalPath().substring(25);
            URL TestURL2 = new URL("file:C:/Users/Ludek/Downloads/" + URL);