2016-09-19 1 views
1

У меня возникла проблема с созданием папки. Пожалуйста, найдите мое требование нижеСоздание папки и подпапки, где должна быть создана подпапка одна рядом с другой в java

  1. Каждый раз, когда вы запускаете тесты, создается новая папка с отметкой времени.
  2. Под папкой штампа времени должна быть создана другая папка. Например,
  3. В этой подпапке новые папки должны создаваться рядом друг с другом, и дубликаты не допускаются.

Try - 1

public static File outputFile; 

    public static void screenshot_TimeStamp_Language_Folder(String language){ 

     String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()); 
     outputFile = new File(timeStamp+"./L"+"_"+language); 
     outputFile.mkdir(); 
     System.out.println(outputFile); 

    } 

    public static void screenshot_TestCaseFolder(String testCaseFolderName){ 

     String st = outputFile.getAbsolutePath(); 
     outputFile = new File(st+"./xyz_"+testCaseFolderName); 
     outputFile.mkdir(); 
     System.out.println(outputFile); 

    } 

    public static void CaptureScreen(AppiumDriver driver, String imageFileName) 
    { 

     File scrFile = driver.getScreenshotAs(OutputType.FILE); 
     //String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()); 

     String path = outputFile.getAbsolutePath(); 
     System.out.println(path); 

     File outputFile = new File(path + "/" + imageFileName +".jpg"); 
     try { 
      FileUtils.copyFile(scrFile, outputFile); 
     } 
     catch (IOException ex) { 
      System.out.println(Level.SEVERE + " Failed to save screen shot to " + outputFile); 
     } 
    } 

Но я неудачу в третьем шаге (я, е вместо создания подпапок рядом друг с другом его создание папки внутри папки, если вы звоните screenshot_TestCaseFolder () более одного раза в одном и том же исполнении)

EX: public void test() { screenshot_TestCaseFolder(); screenshot_TestCaseFolder(); screenshot_TestCaseFolder(); }

Пожалуйста, помогите мне в решении этого вопроса

Заранее спасибо

ответ

0

Я нашел решение

public static File outputFile; 

    public static void screenshot_TimeStamp_Language_Folder(String language){ 

     String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()); 
     outputFile = new File(timeStamp+"./L"+"_"+language); 
     outputFile.mkdir(); 

    } 

    //This is for first time folder creation 
    public static void screenshot_TestCaseFolder(String testCaseFolderName){ 

     String st = outputFile.getAbsolutePath(); 
     outputFile = new File(st+"./ANMM_"+testCaseFolderName); 
     outputFile.mkdirs(); 

    } 

    //This is for second time folder creation 
    public static void screenshot_TestCaseFolder1(String sample){ 

     String st = outputFile.getAbsolutePath(); 
     System.out.println("The first path is"+st); 
     String str = outputFile.getParent(); 
     System.out.println("The second path is"+str); 
     outputFile = new File(str+"/"+"/"+sample); 
     //outputFile = new File(st+"./ANMM_" + "/" +testCaseFolderName); 
     outputFile.mkdirs(); 

    }