Я пытаюсь загрузить файл с помощью драйвера Safari.org.openqa.selenium.WebDriverException: Неизвестная команда: uploadFile
Вот мой код:
DesiredCapabilities browserCapabillities = DesiredCapabilities.safari();
RemoteWebDriver driver = new SafariDriver(browserCapabillities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("myAppURL");
WebElement upload = driver.findElementByXPath("//input[@id='fileElementId']");
RemoteWebElement webElement = ((RemoteWebElement) upload);
LocalFileDetector detector = new LocalFileDetector();
webElement.setFileDetector(detector);
File f = detector.getLocalFile("myFilePath");
upload.sendKeys(f.getAbsolutePath()); // Generating exception:
// org.openqa.selenium.WebDriverException: Unknown command: uploadFile
driver.findElement(By.id("uploadButton")).click();
Единственное, что работает для меня прямо сейчас AppleScript. Благодаря Using AppleScript to choose a file in Safari. Но с Apple Script я должен был разблокировать свою машину.
Я считаю, что LocalFileDetector - лучшее решение, так как я хотел бы запускать свои тесты, даже когда машина заблокирована.
Я не уверен, помогает ли следующее?
driver.setFileDetector(new LocalFileDetector()); // I am getting
// org.openqa.selenium.WebDriverException: Setting the file detector only
// works on remote webdriver instances obtained via RemoteWebDriver
Спасибо за ваше предложение. Я добавил хаб. Теперь нет никаких исключений. По-прежнему sendKeys не обновляет путь к файлу. Просто fyi, я использую «загрузку файла Jasny с компонентом Bootstrap 3». – user3175598
Никогда не использовал это ... – Akbar