#selenium #jenkins #testing #automated-tests #selenide
Вопрос:
Я пытаюсь загрузить CSV-файл из локального хранилища.
Инициализация драйвера:
private static RemoteWebDriver createRemoteWebDriver(DesiredCapabilities caps) throws MalformedURLException {
RemoteWebDriver driver = new RemoteWebDriver(getBrowserstackURL(), caps);
driver.setFileDetector(new LocalFileDetector());
return driver;
}
Способ загрузки:
public void uploadFileUniversal(String fileName, SelenideElement uploadAreaElement) {
uploadAreaElement.shouldBe(Condition.enabled, DefaultDuration.DEFAULT);
LocalFileDetector detector = new LocalFileDetector();
File localFile = detector.getLocalFile("src/test/resources/" fileName);
uploadAreaElement.sendKeys(localFile.getAbsolutePath());
}
Страница:
<span class="btn btn-default upload-csv"><span class="glyphicon glyphicon-upload"></span>
<span class="upload-btn-text">Import CSV</span>
<input id="select-upload-csv" type="file" name="select-upload-assets" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel">
</span>
CSV:
Slide,Time
1,00:10
2,00:15
3,00:20
В результате я получил подтверждающее сообщение от FE. Проблема возникает только при использовании Дженкинса, локально это работает как заклинание.
Комментарии:
1. Вас пытались распечатать
localFile.getAbsolutePath()
?2. @НанданА, да. Путь выглядит так
/home/jenkins/workspace/run_repository/src/test/resources/test-data/csv/file_name.csv
3. Можете ли вы попробовать использовать абсолютный путь? Нравится
System.getProperty("user.dir") "src/test/resources/" fileName
4. @NandanA, Он возвращает тот же путь