Тест заключается в загрузке файла, но проблема в том, что элемент скрыт. Я использовал javascript, чтобы сделать элемент видимым (см. Код ниже). Код работает отлично, когда я выполняю его на своей локальной машине. Но когда я интегрирую сценарий в конвейер jenkins, и теперь он выполняется с использованием хром в селеновой сетке, это привело к ошибке. «не абсолютный путь». Примечание: это не проблема расположения файла, потому что мы отправляем строку. Эта ошибка указывает на элемент.Selenium - Enable elementusing javascript не работает в Jenkins
// Hidden Upload File TextBox
public static void uploadFileDropZoneJS(String file) {
WebElement elem = Browser.driver.findElement(By.xpath("//input[@type='file']"));
String js = "$(\"input[type='file']\").appendTo('.bulk-uploader');$(\"input[type='file']\").removeClass('dz-hidden-input');$(\"input[type='file']\").css({'visibility':'visible','z-index':'100','position':'relative','width':'300px','height':'20px'});";
((JavascriptExecutor) Browser.driver).executeScript(js, elem);
elem.sendKeys(file);
}
Здравствуйте, Deon, ошибка не из-за абсолютного местоположения файла/имени файла. Ошибка в том, что элемент не найден. sendKeys просто отправляет строку в текстовое поле. Я подтвердил, что проблема связана с тем, что javascript для видимости элемента не работает. в пользу сомнения, это строка, которую я отправил: public static String uploadFilepath = System.getProperty ("user.dir") + "\\ src \\ main \\ resources \\ File \\ file.xls" ; – Gil
Это ошибка в консоли: org.openqa.selenium.WebDriverException: неизвестная ошибка: путь не является абсолютным:/home/ec2-user/test-build-develop-de/SourceCode/AutoTest/src/main/resources /File/file.xls – Gil
Я добавил журнал для печати текста после отправки sendKeys, но он не отобразил журнал. это означает, что проблема - это элемент, который не взаимодействует. – Gil