2014-02-10 3 views
0

Я пытаюсь создать некоторый автоматизированный тест для приложения почтового ящика, и я пытаюсь прикрепить файл. Я прочитал все документы из предыдущего поста и был в состоянии придумать с этим:Использование selenium webdriver для загрузки файла

public void I_attach_a_file_that_exceeds_the_limit() throws Throwable { 

    WebElement attachFile = driver.findElement(By.id("attachment")); 
    File f = new File("C:\\coop-provider-swm-specs\\src\\test\\resources\\attachments\\20481kb.txt"); 
    attachFile.sendKeys(f.getCanonicalPath()); 

} 

Проблема с этим состоит в том, что файл, который он придает не реальный файл. Файл, который прилагается, пуст (не уверен, как это работает). Файл, который мне нужно подключить, является большим файлом, и мне нужно сделать это, чтобы аутентификация заключалась в том, что пользователь не превышает лимит разрешений для вложений.

+0

Что происходит при попытке генерации этого кода путем записи макроса? – admdrew

+0

Почему вы создали объект File, если вам нужен только путь? – javajavajava

+0

admdrew, эти автоматические тесты разрабатываются с использованием java для веб-редактора selenium, я не верю, что запись макроса будет применяться (исправьте меня, если я ошибаюсь). – vslat

ответ

1

Изменение:

attachFile.sendKeys(f.getCanonicalPath()); 

To:

attachFile.sendKeys(f.getCanonicalPath()).submit(); 
+0

Мне удалось прикрепить файл, используя эту строку: attachFile.sendKeys ("C: \\ workspace-ecweb \\ coop-provider-swm-specs \\ src \\ main \\ resources \\ вложения \\ 20481kb.txt "); но я пытался разрешить относительный путь, и то, что вы предложили выше, не работает. – vslat

+0

, очевидно, это работает только с абсолютным путем. – vslat

+0

Итак, почему бы вам просто не использовать 'getAbsolutePath' вместо' getCanonicalPath'? –

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