Загрузка файла не работает в Jenkins, когда скрипт запускается как служба (Selenium / Java) - PullRequest
0 голосов
/ 24 апреля 2018

Приложение, в котором я работаю, нуждается в загрузке файла. Код работает нормально, когда код запускается из Eclipse. Когда я запускаю тот же код в Jenkins (служба Windows). Я получаю, org.openqa.selenium.WebDriverException: неверный аргумент: сообщение об ошибке «Файл не найден»

Причина, по которой нам пришлось использовать Jenkins в качестве службы, заключается в том, что из-за сетевой групповой политики мы не можем попросить Jenkins запустить из командной строки.

Я не могу решить проблему, потому что я не уверен, что происходит в фоновом режиме, так как браузер не виден

Здесь приведен код для загрузки файла и сообщение об ошибке при запуске из Jenkins.

Код:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='textfield']")));
WebElement filePath = driver.findElement(By.xpath(".//*[@id='textfield']"));

filePath.sendKeys("\\\\XXXXXFOLDER\\data\\SHARED\\PCDEV\\STAFF\\QA_Staff\\ITL
\\FileForXXXXX\\XXX_XXXX_XXXXAPPS.txt");

Thread.sleep(5000);

//Step 8 - Verify user can click the Add File button and display the file name in the text box on the Send Files page

driver.findElement(By.xpath(".//* 
[@id='wrapper']/table[2]/tbody/tr[1]/td/table[1]/tbody/tr[4]/td[2]
/input[2]")).click();

Сообщение об ошибке:

org.openqa.selenium.WebDriverException: неверный аргумент:

Файл не найден: \\ XXXXXFOLDER \ Data \ Shared \ PCDEV \ ПЕРСОНАЛ \ QA_Staff \ ITL \ FileForXXXXX \ XXX_XXXX_XXXXAPPS.txt

1 Ответ

0 голосов
/ 25 апреля 2018

После создания WebDriver, просто добавьте следующую строку кода в ваш скрипт.

driver.setFileDetector(new LocalFileDetector());

Это помогает загрузить ожидаемый файл из локальной среды в удаленную среду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...