Загрузить файл из веб-приложения с помощью селена webDriver

1

Дерево проектов

Project
    JavaRessources
        src/test/java
            myclass.java
    DeployedRessources
        webApp
            myFile.txt

в моем классе.java Я хочу загрузить myFile.txt с selenium webdriver:

driver.findElement(By.id("upload1")).sendKeys("myFile.txt");

когда я делаю:

private void verifyFile(final String myId, final String src) {
        final WebElement file = this.driver.findElement(By.id(myId));
        final String value = file.getAttribute("value");
        assertEquals("name of uploaded file: ", src, value);
    }
 verifyFile("upload1", "myFile.txt");

он возвращает: name of uploaded file: expected: [myFile.txt] but was []

поэтому я не знаю, как использовать относительный путь для загрузки этого файла с помощью seleniumWebDriver

благодаря

Теги:
selenium-webdriver
file-upload

2 ответа

1
Лучший ответ

Я решил свою проблему. он работает очень хорошо. Ниже мое решение, если оно помогает кому-то: код ниже:

// Find path url of files to upload
final String pathDir = new java.io.File("").getAbsolutePath();
final String pathFile = pathDir + "\\src\\main\\webapp\\myFile.txt";
// End find path url of files to upload
driver.findElement(By.id("upload1")).sendKeys(pathFile);
  • 0
    driver.findElement(By.id("upload1")).sendKeys(filePath); работает!. Но я использовал String filePath = System.getProperty("user.dir") + "/src/resources/test.pdf"; получить абсолютный путь к файлу
0

Насколько я понимаю ваш вопрос, sendkeys вы отправляете только имя файла. Поэтому попробуйте отправить абсолютный путь файла.

driver.findElement(By.id("upload1")).sendKeys("d:\\folder\\myFile.txt");

Отредактировано в соответствии с вашим комментарием:

Вы должны использовать относительный путь файла для ссылки на него,

driver.findElement(By.id("upload1")).sendKeys("./webApp/myFile.txt");
  • 0
    Я знаю, что он работает с вашим кодом, но я хочу, чтобы я мог получить доступ к этому файлу из проекта Eclipse. потому что я хочу, чтобы это был функционал с любой машиной, использующей мой код
  • 0
    Мой вопрос выглядит немного так: stackoverflow.com/questions/19640043/…
Показать ещё 14 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню