2015-12-04 3 views
0

В моем случае работает ниже метода. Я использую Windows сейчас, но после написания некоторых тестов, нужно перенести его в среду * nix. И некоторые классные ребята говорят, что путь должен быть абстрактным.Java. Селен. File Uploading Another One

driver.findElement(By.id("admin_offer_kind_logo")).sendKeys("C:\\Path\\To\\File"); 

Но я стараюсь:

driver.findElement(By.id("admin_offer_kind_logo")).sendKeys(System.getProperty("user.dir")+"\\src\\test\\resources\\Koala.jpg"); 

или

driver.findElement(By.id("admin_offer_kind_logo")).sendKeys(System.getProperty("user.dir")+"/src/test/resources/Koala.jpg"); 

Он не хочет, чтобы загрузить этот чертов файл.

@Test 
public void FileFinding() { 
    String file = System.getProperty("user.dir"); 
    System.out.print("FilePath: "); 
    System.out.println(file); 
} 

Над кодом принтами: FilePath: C:\SeleniumTests\FirstWebDriverTest

Полный путь к моему файлу в проекте:

C:\SeleniumTests\FirstWebDriverTest\src\test\resources\Koala.jpg 

ответ

0

С помощью одного хорошего человека, нашли два метода работы:

@Test 
     public void FileFinding_Right_One() { 
     String file = getClass().getClassLoader().getResource("Koala.jpg").getFile(); 
     System.out.println(file.substring(1,file.length())); 
} 
    @Test 
     public void File_Finding_Right_Second 
     File f = new File("src/test/resources/Koala.jpg"); 
     System.out.println(f.getAbsolutePath()); 
} 
0

Вы можете использовать com.google.common.io.Resources, чтобы получить файл с вашего ресурсов.

String filePath = "Koala.jpg"; 
URL resource = Resources.getResource(filePath); 
String uploadFullPath = resource.toURI().getPath(); 

Или передать логику от How to get the path of src/test/resources directory in JUnit?