SeleniumGrid - ошибка загрузки файла при удаленном запуске - PullRequest
0 голосов
/ 07 марта 2019

Следующая команда выполняется правильно при запуске на локальном компьютере:

String fileLocation = "/Users/local/file.xlsx";
chro.findElement(By.xpath("//input[@title='input']")).sendKeys(fileLocation);

Но происходит сбой при удаленном запуске (на сетке селена) со следующим исключением: org.openqa.selenium.InvalidArgumentException: invalid argument: File not found : /Users/local/file.xlsx Кто-нибудь знает, в чем может быть причина?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Нашел ответ - stackoverflow.com/a/16244627/9336888

TLDR: используйте FileDetector для отправки файла по сети.

driver = new RemoteWebDriver(new URL(hubUrl), options); 
((RemoteWebDriver) driver).setFileDetector(new LocalFileDetector());
0 голосов
/ 07 марта 2019

В соответствии с получаемой ошибкой, похоже, что путь /Users/local/file.xlsx отсутствует на сервере, на котором вы выполняете скрипт.

Чтобы решить эту проблему, вы можете сделать folder с именем exceldata внутри своего проекта автоматизации, и внутри этой папки вы можете вставить свой лист данных тестовых данных file.xlsx, а затем вы можете установить путь с помощью System.getProperty("user.dir") (который дает путь к каталогу проекта в текущей системе), а затем вы можете установить путь xlsx с помощью:

String fileLocation = System.getProperty("user.dir") + "/exceldata/file.xlsx";

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

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