У меня есть следующий метод загрузки изображения с использованием селена.
public static void uploadSampleImage(StaticSeleniumDriver driver)
{
File file = new File(System.getProperty("user.dir") + "/resources/images/" + SAMPLE_DOCUMENT_FILE_NAME);
Utils.Log("file exists: " + file.exists());
String imagePath = file.getAbsolutePath();
WebElement input = driver.findElement(By.name("file"));
input.sendKeys(imagePath);
}
Это стандартный способ подачи пути к файлу (, как описано в руководстве по Guru99 ) для загрузки файла.
- Работает нормально при локальном тестировании на windows
- НЕ работает при запуске внутри контейнера докера (linux), получая эту ошибку:
org.openqa.selenium.InvalidArgumentException: недопустимый аргумент: файл не найден: /usr/src/app/resources/images/image2.png (информация о сеансе: chrome = 72.0.3626.81) (информация о драйвере: chromedriver = 2.46.628388 (4a34a70827ac54148e092a4a7070e), platform = Linux 4.9.125-linuxkit x86_64) (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о трассировке стека)
Что странно, поскольку я уверен, что файл существует в данном каталоге (в моем методе выше,Я проверяю, существует ли файл, и журнал четко подтверждает это)

Любые предложения приветствуются, спасибо