Как загрузить файл в selenium-ide 3-7-4 - PullRequest
0 голосов
/ 16 мая 2019

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

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Загрузка файла прервана в Selenium IDE с момента последнего обновления безопасности Chrome ( Билет здесь ).Симптом заключается в том, что при использовании выгрузки файлов сценарии останавливаются с {«code»: - 32000, «message»: «Недопустимо»} ошибка.

Обходной путь состоит в том, чтобы переключиться на IDE Selenium ++, которая является частью инструмента UI.Vision (альтернативный проект с открытым исходным кодом), и использовать его команду XClick .Эта команда может обойти новые ограничения, поскольку она использует небольшое собственное приложение (xmodules) для заполнения и щелчка по диалоговому окну загрузки файла.

Код для selenium ide ++ (из здесь ):

{
  "Name": "1upload",
  "CreationDate": "2019-5-2",
  "Commands": [
    {
      "Command": "open",
      "Target": "https://cgi-lib.berkeley.edu/ex/fup.html",
      "Value": ""
    },
    {
      "Command": "XClick",
      "Target": "name=upfile",
      "Value": ""
    },
    {
      "Command": "XType",
      "Target": "C:\\1tmp\\1test.txt",
      "Value": ""
    },
    {
      "Command": "XType",
      "Target": "${KEY_ENTER}",
      "Value": ""
    },
    {
      "Command": "clickAndWait",
      "Target": "xpath=/html/body/form/input[3]",
      "Value": ""
    }
  ]
}
0 голосов
/ 16 мая 2019

1) Используя sendkeys, мы можем отправить путь к файлу: -

Это самая основная техника для загрузки файла. Получите элемент загрузки файла, используя Id или Name. И вызовите метод sendKeys () Webdriver, чтобы установить значение файла для загрузки.

Помните о двух следующих вещах при загрузке файлов в WebDriver

1) Нет необходимости имитировать нажатие кнопки «Обзор». WebDriver автоматически вводит путь к файлу в текстовое поле выбора файла элемента <input type="file">.

2) При настройке пути к файлу в вашей среде Java IDE используйте правильный символ перехода для обратной косой черты.

Попробуйте это: -

     WebDriver driver = new FirefoxDriver();

     // Put an Implicit wait, 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

     // Launch the URL
     driver.get("http://toolsqa.com/automation-practice-form");

     WebElement element = driver.findElement(By.id("photo"));

     element.sendKeys("/home/savera9/Desktop/test.jpg");

Есть и другие способы загрузки файлов, пожалуйста, отметьте this

2) Использование класса робота : -

    driver.findElement(By.xpath("Path of that element")).click();

    StringSelection strSel = new StringSelection("upload file path");
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSel, null);


    Robot robot = new Robot();

    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_CONTROL);

    Thread.sleep(3000);
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);

3) Использование AutoIT: -

AutoIT помогает загружать файлы, передавая управление из веб-драйвера Selenium в AutoIT. Нам нужно явно вызвать скрипт AutoIT из нашей программы. После нажатия кнопки загрузки фокус будет перемещен в AutoIT, и он выполнит операторы, которые будут использоваться для загрузки файлов.

4) Использование Sikuli: -

Sikuli - инструмент автоматизации графического интерфейса пользователя с открытым исходным кодом. Sikuli будет использоваться для автоматизации всего, что вы можете увидеть на экране. Он использует распознавание изображений, чтобы говорить с элементами GUI. Когда нет легкого доступа к исходному коду графического интерфейса, это один из лучших способов получить соответствующий ответ.

Есть и другие способы загрузки файла, перейдите по этой ссылке https://www.evoketechnologies.com/blog/selenium-automation-uploading-multiple-files-via-web-browsers-file-dialog/

...