1

Тест заключается в загрузке файла, но проблема в том, что элемент скрыт. Я использовал 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); 
} 

ответ

0

Вы можете отправить сообщение об ошибке? У нас была аналогичная проблема, и наши тесты выполнялись локально на компьютере с Windows, но когда тесты выполнялись через Jenkins на виртуальной машине Linux, путь к файлу изменился относительно рабочего пространства Jenkins. Небольшая настройка для поиска файла относительно нашего рабочего пространства, и все было хорошо.

+0

Здравствуйте, Deon, ошибка не из-за абсолютного местоположения файла/имени файла. Ошибка в том, что элемент не найден. sendKeys просто отправляет строку в текстовое поле. Я подтвердил, что проблема связана с тем, что javascript для видимости элемента не работает. в пользу сомнения, это строка, которую я отправил: public static String uploadFilepath = System.getProperty ("user.dir") + "\\ src \\ main \\ resources \\ File \\ file.xls" ; – Gil

+0

Это ошибка в консоли: org.openqa.selenium.WebDriverException: неизвестная ошибка: путь не является абсолютным:/home/ec2-user/test-build-develop-de/SourceCode/AutoTest/src/main/resources /File/file.xls – Gil

+0

Я добавил журнал для печати текста после отправки sendKeys, но он не отобразил журнал. это означает, что проблема - это элемент, который не взаимодействует. – Gil