У меня есть загрузка файла изображения и вы хотите его протестировать Selenium (java). У пользователя есть два варианта. Он может нажать изображение с помощью перетаскивания с его локальной машины или нажать кнопку «Обзор ...». Затем появляется выбранный браузер вариант выбора файла.Selenium File Chooser со скрытым вводом [type = file]
Selenium Я пробовал разные вещи. Насколько мне известно Selenium не выполняет операции из браузера. Таким образом, тестирование функции перетаскивания не является возможным решением.
Итак, я попытался нажать кнопку «Обзор» и работать с выбранным вами браузером. Я нашел YouTube video, где кто-то успешно выбирает файл в этом диалоговом окне. Он взял класс Robot, чтобы что-то сделать на клавиатуре.
getDriver().findElement(By.id(BROWSE_BUTTON)).click();
Thread.sleep(5000);
StringSelection stringSelection = new StringSelection("C:\\A.JPG");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Когда я отлаживать эти строки, тест в ожидании после метода нажмите() в строке 1. Я использую Firefox 31.1.
Любые идеи? Может быть, есть альтернативы? Чтобы записать путь к файлу в input[type='file']
, альтернативы не существует, потому что этот ввод скрыт.
Каким элементом является кнопка «Обзор»? –