2015-09-20 3 views
0

Я использую Selenium WebDriver для автотестов. Моя текущая задача - загрузить файл. Я использую следующий код, чтобы получить невидимый элемент и sendKeys тамКак использовать относительный путь при загрузке файла

WebElement elem = driver.findElement(By.id("profileImage")); 
    String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible'; arguments[0].style.display='block';"; 
    ((JavascriptExecutor) driver).executeScript(js, elem); 
elem.sendKeys("C:\\back.JPG"); 

Я хочу, чтобы сохранить файл в папке проекта. Как я могу использовать соответствующий путь к файлу?

Оба из следующих способов вернуть папку Eclipse:

System.getProperty("user.dir")); 
    new java.io.File("").getAbsolutePath()); 

ответ

0

В Python:

import os 


picture_path = os.path.abspath("pictures/profileImage.jpg") 

upload_input = driver.find_element_by_id("profileImage") 
upload_input.send_keys(picture_path) 

В Java: Я не проверял, но я думаю, что это раствор:

import java.io.File; 


File classpathRoot = new File(System.getProperty("user.dir")); 
File picturesDir = new File(classpathRoot, "/pictures"); 
File picture = new File(picturesDir, "profileImage.jpg"); 
String picturePath = picture.getAbsolutePath(); 

WebElement uploadInput = driver.findElement(By.id("profileImage")) 
uploadInput.sendKeys(picturePath); 

Если скомпилировать следующий код (JAVAC ProjectPath.java):

public class ProjectPath { 
    public static void main(String[] args) { 
     System.out.println(System.getProperty("user.dir")); 
    } 
} 

а затем выполнить java ProjectPath это будет возвращать путь directoy, который содержит ProjectPath.java файл.

+0

Как я уже говорил, System.getProperty («user.dir»)) возвращает папку Eclipse .. Но мой проект находится в другом направлении , поэтому он не работает для меня – cherevychenkosa

+0

System.getProperty («user.dir») normaly возвращает каталог проекта, а не папку eclipse. – ettanany

+0

Возвращает D: \ Tools \ eclipse-java-mars-R-win32-x86_64 \ eclipse. Но каталог моего проекта D: \ workspace \ seleniumTests. Так что это не работает для меня .. почему? : | – cherevychenkosa

Смежные вопросы